当前位置: 首页 > news >正文

大语言模型基础(LLM)大语言模型(Large Language Model,简称 LLM)是 AI Agent 的大脑,理解它是构建智能 Agent 的基础。-周红伟

大语言模型基础(LLM)

大语言模型(Large Language Model,简称 LLM)是 AI Agent 的大脑,理解它是构建智能 Agent 的基础。

大语言模型之所以能与你对话、写文章、编程,本质上是它在根据你给出的文本(提示),一个字一个字地猜出最合理的下文。

简单来说,大语言模型是一个经过海量文本数据训练的深度学习模型,它能够理解和生成人类语言。大语言模型通过分析互联网上的海量文本,学习语言的统计规律,当收到输入时,根据学到的规律生成最合理的续写。

我们可以把大语言模型想象成一个极其用功、记忆力超群的学生

  • 学习阶段(训练):它阅读了互联网上几乎所有公开的文本——书籍、文章、网页、代码等(数据量可达万亿单词级别)。在这个过程中,它不是在背诵,而是在学习一套极其复杂的语言规律。
  • 应用阶段(推理):当你向它提问或给出指令时,它就会运用学到的规律,一个字接一个字地生成出最合乎逻辑和语境的回答。

它的"大"主要体现在两个方面:

  • 参数规模大:模型内部有数百亿甚至上万亿个可调节的参数,记录了学到的语言知识。
  • 训练数据大:用于训练的文本数据量巨大,涵盖互联网公开信息的精华。

下图展示了 LLM 逐词生成文本的过程——它每次只预测一个词,然后将这个新词纳入输入,继续预测下一个词,如此循环直到生成完整回答:

第一步今天天气LLM计算概率分布很输入文本预测词加入下步输入第二步今天天气很LLM计算概率分布好如此循环,逐词生成完整回答

尽管 LLM 很强大,但它也有明确的局限性:

能力说明局限性
知识截止训练数据有截止日期无法获知训练后的新信息
数学计算能做简单计算复杂计算容易出错
实时信息需要外部工具辅助本身无法获取实时数据
事实准确性可能生成错误信息需要事实核查
长文本处理上下文长度有限制超长文本会丢失信息
逻辑一致性可能前后矛盾需要仔细设计和验证

重要提醒:LLM 不是全知全能的,它本质上是基于统计的模式匹配系统。理解它的局限性,才能更好地利用它的能力。


核心工作原理:Transformer 架构简析

LLM 的惊人能力,离不开其底层核心技术——Transformer 架构。不需要深究复杂的数学原理,但可以理解它的核心思想。

想象你要写一篇关于太阳系的文章:

  • 通读资料:你会先看很多相关的书籍和网页。
  • 抓住重点:你会注意到太阳、行星、轨道、引力这些词频繁出现且相互关联。
  • 组织语言:根据你想表达的重点(比如介绍火星),你会选择性地运用之前看到的关于火星大小、颜色、位置等信息,并组织成通顺的句子。

Transformer 的工作方式与此类似,它的核心流程分为三个阶段:

  1. 输入处理:你的话被拆分成词或字(Token),并转换成计算机能理解的数字(向量)。
  2. 理解上下文(核心)自注意力机制(Self-Attention)开始工作。它让模型在处理句子中每一个词时,都能权衡句子中所有其他词的重要性。这个过程是并行的,速度极快。
  3. 生成与循环:模型基于对所有词的理解,计算出概率分布,预测下一个最可能出现的词。选中并输出这个词后,将其作为新的输入,重复整个过程,直到生成完整回答。

自注意力机制是 Transformer 最关键的创新。以句子"苹果的手机它的电池很大"为例,当模型处理它这个词时,自注意力机制会帮助模型判断它与苹果和手机高度相关。下图展示了这一过程中的注意力权重分布:

苹果手机它电池很大「它」(查询词,已高亮)对各词的注意力权重高权重中权重低权重弧线越粗、颜色越深,表示模型越关注该词

正是这种能并行处理深度理解全局上下文的能力,使得基于 Transformer 的 LLM 在语言任务上远超以往技术(如 RNN)。


如何与 LLM 交互:Prompt 工程入门

Prompt(提示词)是你给 LLM 的输入,它告诉模型你想要什么,就像给助理下达指令——指令越清晰,结果越好。Prompt 的质量直接决定了回答的质量。

一个好的 Prompt 通常由以下四个部分组成:

上下文角色与背景+指令明确任务目标+示例(可选)范例与反例+格式要求输出格式与长度四个模块共同构成一条清晰、完整的提示词

基本原则

  • 明确具体:避免模糊表达。不要说写点关于狗的东西,而应该说用生动活泼的语言,为 6-8 岁儿童写一段 100 字左右的关于金毛寻回犬性格特点的简短介绍。

  • 提供上下文:告诉模型你的身份、背景和目标。例如:你是一位经验丰富的 Python 编程导师。请向一个刚学完基本语法的初学者解释什么是列表推导式,并提供一个简单的例子。

  • 指定格式:如果需要特定格式的输出,请明确说明,例如:请将以下要点总结为三个 bullet points 或 请以 JSON 格式输出。

  • 分步思考(Chain-of-Thought):对于复杂问题,可以在 Prompt 中引导模型逐步推理,例如:请一步一步地分析这个问题,先列出已知条件,再推导中间步骤,最后给出结论。 这种方式能显著提升复杂推理任务的准确率。

LLM 的常见应用场景

场景类别具体示例说明
内容创作与编辑撰写邮件、报告、博客;续写故事;润色文案;翻译不同风格文本快速生成草稿,提供灵感和多种表达方式
信息检索与总结快速阅读长文档并提炼核心观点;基于知识库的问答比传统搜索更"理解"问题,能进行归纳和整合
编程辅助解释代码、生成代码片段、调试错误、重构代码、编写测试用例充当全天候的编程伙伴,极大提升开发效率
对话与客服智能聊天机器人、个性化导师、角色扮演提供拟人化、上下文连贯的交互体验
逻辑推理与分析解数学题、进行基础逻辑推理、分析数据趋势、制定计划在限定领域内展示出令人惊讶的推理能力

API 调用与参数设置

要构建 AI Agent,你需要学会如何通过 API 调用 LLM。

本章节我们以 OpenAI API 为例,介绍基本的调用方法。

openai 是一个强大的 Python 库,用于与 OpenAI 的一系列模型和服务进行交互,详细内容参考:Python OpenAI。

开源地址:https://github.com/openai/openai-python

基础 API 调用

1. 安装必要的库
pip install openai

然后需要去 OpenAI 官网注册账号,并在 API 密钥页面生成一个 API Key。

实例

import os
from openai import OpenAI

client = OpenAI(
# This is the default and can be omitted
api_key="你申请的 API key",
)

response = client.responses.create(
model="gpt-4o",
instructions="You are a coding assistant that talks like a pirate.",
input="How do I check if a Python object is an instance of a class?",
)

print(response.output_text)

我们国内目前访问 openai 还是有点麻烦,国内很多也支持 openai,比如 DeepSeek、阿里的千问。

DeepSeek

DeepSeek API 完全兼容 OpenAI 的 API 格式,只需修改少量配置,即可直接使用 OpenAI SDK 或兼容工具访问 DeepSeek API。

核心配置参数:
参数取值/说明
base_url必填,固定值:https://api.deepseek.com(也可填https://api.deepseek.com/v1,仅为兼容OpenAI,v1与模型版本无关)
api_key必填,需先在 DeepSeek 官网申请专属 API Key(申请地址:https://platform.deepseek.com/)
model必填,
  • deepseek-chat:对应 DeepSeek 的非思考模式,响应速度快,适合常规问答;
  • deepseek-reasoner:对应 DeepSeek 的思考模式,推理能力更强,适合复杂问题求解。

实例

import os
from openai import OpenAI

# 初始化客户端(核心配置:替换为你的API Key)
client = OpenAI(
api_key=os.environ.get('DEEPSEEK_API_KEY'), # 推荐通过环境变量配置,也可直接写死(不推荐)
base_url="https://api.deepseek.com" # DeepSeek 固定域名
)

# 调用对话API
try:
response = client.chat.completions.create(
model="deepseek-chat", # 指定模型,可选 deepseek-chat / deepseek-reasoner
messages=[
{"role": "system", "content": "You are a helpful assistant"}, # 系统角色定义
{"role": "user", "content": "Hello"}, # 用户提问
],
stream=False # 非流式输出(一次性返回完整结果)
)
# 打印回复内容
print("回复结果:", response.choices[0].message.content)
except Exception as e:
print("调用失败:", str(e))

阿里百炼

阿里云百炼的通义千问模型支持 OpenAI 兼容接口,您只需调整 API Key、BASE_URL 和模型名称,即可将原有 OpenAI 代码迁移至阿里云百炼服务使用。

我们需要开通阿里云百炼模型服务并获得 API-KEY。

我们可以先使用阿里云主账号访问百炼模型服务平台:https://bailian.console.aliyun.com/,然后点击右上角登录,登录成功后点击右上角的齿轮⚙️图标,选择 API key,然后复制 API key,如果没有也可以创建 API key:

开通阿里云百炼不会产生费用,仅模型调用(超出免费额度后)、模型部署、模型调优会产生相应计费。

现在要使用 API,都需要按 token 来计费,还好都不贵,我们可以先购买个最便宜的包:阿里云百炼大模型服务平台。

也可以直接使用百炼与方舟的 Coding Plan 套餐:https://www.runoob.com/claude-code/coding-plan.html。


使用方式

接下来我们使用 OpenAI SDK 访问百炼服务上的通义千问模型。

非流式调用示例

实例

from openai import OpenAI
import os

def get_response():
client = OpenAI(
api_key="sk-xxx", # 请用阿里云百炼 API Key
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 填写DashScope SDK的base_url
)
completion = client.chat.completions.create(
model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是谁?'}]
)
# json 数据
#print(completion.model_dump_json())
print(completion.choices[0].message.content)

if __name__ == '__main__':
get_response()

运行代码可以获得以下结果:

我是通义千问,阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我可以帮助你回答问题、创作文字,比如写故事、写公文、写邮件、写剧本、逻辑推理、编程等等,还能表达观点,玩游戏等。如果你有任何问题或需要帮助,欢迎随时告诉我!

流式调用示例

实例

from openai import OpenAI

def get_response():
client = OpenAI(
api_key="sk-xxx",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
model="qwen-plus",
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': '你是谁?'}
],
stream=True,
stream_options={"include_usage": True}
)

for chunk in completion:
# chunk 里可能没有 choices 或 delta
if hasattr(chunk, "choices") and len(chunk.choices) > 0:
choice = chunk.choices[0]
if hasattr(choice, "delta") and hasattr(choice.delta, "content"):
print(choice.delta.content, end='', flush=True)

if __name__ == '__main__':
get_response()

运行代码可以获得以下结果:

我是通义千问,阿里巴巴集团旗下的通义实验室自主研发的超大规模语言模型。我可以帮助你回答问题、创作文字,比如写故事、写公文、写邮件、写剧本、逻辑推理、编程等等,还能表达观点,玩游戏等。如果你有任何问题或需要帮助,欢迎随时告诉我!

主流大语言模型

以下是主流大语言模型的官网与 API 文档地址整理:

模型名称所属公司/组织官网API文档地址
GPT系列 (GPT-5.2/GPT-4o)OpenAIhttps://openai.com/https://platform.openai.com/docs/api-reference
Claude系列 (Opus 4.6/Sonnet 4.5)Anthropichttps://www.anthropic.com/https://docs.anthropic.com/claude/reference/getting-started-with-the-api
Gemini系列 (Gemini 3 Pro/Flash)Googlehttps://deepmind.google/technologies/gemini/https://docs.gemini.com/rest-api/
通义千问 (Qwen 3.0系列)阿里巴巴https://www.qianwen.com/https://help.aliyun.com/zh/dashscope/developer-reference/api-details
文心一言 (ERNIE 5.0系列)百度https://yiyan.baidu.com/https://qianfan.cloud.baidu.com/docs/
智谱清言 (GLM-4.7系列)智谱AIhttps://chatglm.cn/https://open.bigmodel.cn/dev/api
Kimi (Moonshot K2.5系列)月之暗面https://kimi.moonshot.cn/https://platform.moonshot.cn/docs/api/chat
讯飞星火大模型科大讯飞https://xinghuo.xfyun.cn/https://www.xfyun.cn/doc/spark/Web.html
DeepSeek系列DeepSeekhttps://www.deepseek.com/https://api-docs.deepseek.com/
Llama系列 (Llama 3.1/Llama 4)Metahttps://www.llama.com/https://www.llama.com/docs/overview/
Grok系列 (Grok 4.1)xAIhttps://x.ai/https://docs.x.ai/overview
MiniMax (M2.1系列)MiniMaxhttps://www.minimaxi.com/https://api.minimax.chat/docs/api/
百川智能 (Baichuan 3系列)百川智能https://www.baichuan-ai.com/https://platform.baichuan-ai.com/docs/api
Ollama (本地部署模型)Ollamahttps://ollama.com/https://github.com/ollama/ollama/blob/main/docs/api.md
豆包大模型字节跳动https://www.doubao.com/https://www.volcengine.com/docs/82379/1399008?lang=zh
http://www.cnnetsun.cn/news/1886849.html

相关文章:

  • 告别数据迷茫:手把手教你用逻辑分析仪调试SC7A20加速度传感器I2C通信
  • 5步掌握AutoTrain Advanced与OpenCV集成:构建专业计算机视觉应用
  • 如何使用Happy Coder实时语音功能:与AI编程助手对话的全新体验
  • 3步快速掌握北航毕业论文LaTeX自动化排版终极指南
  • OneNote到Markdown终极转换指南:5步实现笔记无缝迁移
  • Harness Engineering与Context Engineering:差异与协同
  • 专业实战指南:高效掌握JiYuTrainer极域电子教室破解核心技术
  • 如何3步解锁Cursor Pro高级功能:开源工具完整指南
  • 系统架构设计师备考指南:从芝士架构到实战案例的25分攻略
  • 如何用开源模板库快速绘制专业神经网络架构图
  • 九联UNT403HS/UNT413HS海思MV320安卓9刷机全攻略:从短接点到救砖指南
  • 从零到一:基于Certbot与Nginx构建自动化HTTPS部署流水线
  • iOSDeviceSupport终极指南:快速解决Xcode调试兼容性问题
  • Rust的#[repr(C)]中的性兼容
  • JD-AssistantV2京东抢购助手:三步快速上手,轻松秒杀心仪商品!
  • 【权威首发】2026奇点大会AIAgent视频理解白皮书核心结论:92.7%的CV工程师低估了动作语义蒸馏的关键阈值
  • Eye-in-hand vs Eye-to-hand:如何为你的UR5e+Realsense D435i选择正确标定模式?
  • Staticman故障排除手册:常见问题解决方案与调试技巧
  • EagleEye实战教程:使用EagleEye REST API构建微信小程序图像检测服务
  • 快速搭建BEV感知系统:星图AI平台训练PETRV2模型实战分享
  • 8-BIT艺术工业化:像素极光引擎在游戏外包团队中的标准化接入方案
  • Visual Syslog Server:Windows环境下的终极日志监控解决方案
  • Godot PCK文件解包终极指南:5分钟快速提取游戏资源
  • 生成式人工智能行业深度研究报告(2026年)
  • 【仅限首批200位架构师开放】:AIAgent追踪协议X-Trace 3.0标准草案+全链路埋点自动化生成工具链
  • 《SAP FICO系统配置从入门到精通共40篇》009、应收账款(AR)业务流程配置:发票、收款与清账
  • 英飞凌TC3xx SOTA实战:手把手教你配置UCB_SWAP实现空中升级(附代码)
  • ejabberd与其他消息平台对比:为什么选择ejabberd?
  • 从ResNet到Transformer:归一化层选型实战,你的模型该用BatchNorm还是LayerNorm?
  • Pixel Couplet Gen 与数据库课程设计结合:构建春联作品管理平台