一、LLM 基本原理
1. Transformer 架构
Transformer 是当前大多数 LLM(如 GPT、Claude、Gemini)的核心架构。
核心机制包括:
- Self-Attention(自注意力) :让模型在处理某个词时考虑句子中所有其他词的影响。
- Multi-Head Attention(多头注意力) :多个注意力头并行捕捉不同语义关系。
- Position Embedding(位置编码) :弥补模型对序列顺序的不敏感问题。
- Feed Forward 层:在注意力层之后进行非线性变换,提高表达能力。
⚙️ 简言之:Transformer = 编码上下文关系 + 并行计算 + 自注意力机制
2. 上下文窗口(Context Window)
- 模型一次能「看到」的文本范围。
- GPT-4 Turbo 等模型的窗口可达 128k tokens(约10万字)。
- 超出窗口的内容会被截断,模型无法访问。
🧭 优化技巧:
- 对长文档可采用 Chunking + Embedding 检索(RAG) 。
- 设计 Prompt 时,把核心信息放在靠后或靠近问题的位置。
3. Token 与计费机制
-
模型处理的最小单位是 Token,通常为 1~4 个字符。
-
Token 数量影响:
- ① 输入长度(影响上下文窗口)
- ② 输出长度
- ③ 调用成本(API 计费基于 Token 数)
例:
"我爱自然语言处理" ≈ 7 tokens
"I love NLP" ≈ 4 tokens
🧭 思维导图结构:LLM 基础部分
css
LLM 基本原理
├── Transformer
│ ├── Self-Attention
│ ├── Multi-Head Attention
│ ├── Position Embedding
│ └── Feed Forward
├── 上下文窗口
│ ├── 定义
│ ├── 限制
│ └── 优化方法(Chunking / RAG)
└── Token 机制
├── 含义
├── 长度计算
└── 计费与优化
二、Prompt Engineering(提示词工程)
Prompt 是与模型交互的「语言接口」。
掌握好提示词工程 = 让模型更稳定、更聪明。
1. Zero-shot / Few-shot
| 类型 | 说明 | 示例 |
|---|---|---|
| Zero-shot | 无示例,直接提问 | "请解释量子计算的基本原理。" |
| Few-shot | 提供示例引导模型 | "例1:输入A → 输出X;例2:输入B → 输出Y;请为输入C生成输出。" |
💡 Few-shot 能让模型学习模式,更稳定地产生一致结果。
2. CoT(Chain of Thought)
-
指令:鼓励模型「逐步思考」。
-
示例:
请一步步推理,先解释思路,再给出答案。 -
优点:减少逻辑错误、增强可解释性。
-
场景:数学推理、复杂逻辑判断、法律分析。
3. RAG(Retrieval-Augmented Generation)
- 检索增强生成:将外部知识库与模型结合。
流程如下:
- 用户问题 → 生成 embedding;
- 在向量数据库中检索相关文档;
- 将检索到的内容拼接进 Prompt;
- 模型生成回答。
🧱 实用框架:LangChain、LlamaIndex
🧭 思维导图结构:Prompt Engineering
markdown
Prompt Engineering
├── Zero-shot
│ └── 直接任务指令
├── Few-shot
│ └── 示例学习
├── CoT(Chain of Thought)
│ ├── 分步思考
│ ├── 提升逻辑稳定性
│ └── 适合复杂任务
└── RAG(Retrieval-Augmented Generation)
├── 检索模块
├── 知识拼接
└── 生成模块
三、Function Calling / Tools 调用
1. 概念
Function Calling 是 LLM 能「调用外部函数或工具」的机制。
模型不仅能生成文本,还能触发程序操作。
2. 工作流程
- 模型分析用户输入;
- 判断是否需要调用函数;
- 生成结构化参数(通常为 JSON);
- 系统调用函数;
- 将函数返回结果反馈给模型;
- 模型生成最终输出。
3. 应用场景
- 🔍 数据查询(数据库 / API)
- 📊 报表生成(调用分析函数)
- 💬 智能助理(多轮任务分解)
- 🧩 工具编排(结合 LangChain / OpenAI Tools)
4. 实战提示
-
在定义函数 schema 时:
- 保持字段语义清晰;
- 参数类型匹配;
- 输出结构规范化。
-
可结合:
- OpenAI Function Calling
- Anthropic Tool Use
- LangChain Agents
🧭 思维导图结构:Function Calling
javascript
Function Calling / Tools 调用
├── 概念
│ └── 模型触发外部函数
├── 工作流程
│ ├── 识别意图
│ ├── 生成参数
│ ├── 调用函数
│ └── 整合结果
├── 应用场景
│ ├── 数据查询
│ ├── 报表生成
│ ├── 智能助理
│ └── 工具编排
└── 实践要点
├── Schema 设计
├── JSON 参数
└── 多工具协作
📘 总结
| 模块 | 核心关键词 | 实践方向 |
|---|---|---|
| LLM 基本原理 | Transformer / Token / Context | 理解模型底层与性能边界 |
| Prompt Engineering | Zero-shot / Few-shot / CoT / RAG | 提高模型输出质量与稳定性 |
| Function Calling | 外部工具集成 / 自动化调用 | 构建智能 Agent 与企业级应用 |