LLM 基础
**LLM(Large Language Model)**是通过海量文本和代码训练、能够根据上下文逐个生成 Token 的大型语言模型。
它可以完成解释、摘要、分类、信息提取、代码生成和一定程度的规划,但输出本质上仍是概率生成结果。
Token 是模型读取和生成内容时使用的基本单位,可能是一个字、一个单词片段或一个标点。
Token 数量会影响:
- 一次调用能够放入多少内容。
- 响应速度。
- API 使用成本。
- 长文本中模型能否持续关注关键信息。
上下文窗口是一次模型调用能够处理的 Token 总量上限,通常包括系统指令、用户消息、历史对话、检索资料、工具结果和模型输出。
上下文更长不代表结果一定更好;无关信息过多可能降低模型对关键内容的注意力。
Prompt
Section titled “Prompt”Prompt 是发送给模型的指令、问题、背景资料、约束和示例的集合。
一个可靠的 Prompt 通常说明:
- 模型扮演的角色和目标。
- 可以使用的上下文。
- 必须遵守的边界。
- 输出格式。
- 信息不足时应该如何处理。
结构化输出要求模型按照预定义 Schema 返回 JSON 等固定格式,方便程序验证和继续处理。
与“请输出 JSON”这种文本要求相比,使用模型提供的 Schema 或 Tool Calling 能力通常更加可靠。
Tool Calling
Section titled “Tool Calling”Tool Calling 让模型从预先允许的工具中选择一个,并生成对应参数。
需要注意:模型不会亲自访问数据库或执行命令,而是由应用验证参数、执行工具,再把结果返回给模型。
当模型需要回答训练数据之外或经常变化的问题时,可以通过 RAG 接入外部知识;当模型需要连续执行动作时,可以进一步构建 AI Agent。