Token(词元)
Token 是大语言模型处理文本的基本单位,理解 Token 对于优化 Agent 性能和控制成本非常重要。
什么是 Token?
Token 是模型将文本分割后的最小单位,类似于「词」但不完全等同。模型不直接处理文字,而是处理 Token。
不同的模型使用不同的分词器(Tokenizer),因此同一段文本在不同模型中的 Token 数量可能不同。
Token 示例
| 文本 | Token 数量 | 说明 |
|---|---|---|
| Hello | 1 | 常见英文单词通常是1个token |
| Hello World | 2 | 两个单词 = 2个token |
| 你好 | 1-2 | 中文字符约1-2个token |
| 人工智能 | 2-4 | 取决于分词器 |
| GPT-4 | 3 | 包含特殊字符时会被分割 |
| https://example.com | 7-10 | URL会被拆分成多个token |
Token 用量计算
输入 Token(Input Tokens)
发送给模型的文本 token 数量,包括系统提示词、用户消息、历史对话等。
输出 Token(Output Tokens)
模型生成的回复 token 数量。通常输出 token 的价格是输入的 2-4 倍。
上下文窗口(Context Window)
模型能处理的最大 token 总数(输入 + 输出)。超出限制会导致早期内容被截断。
主流模型定价参考
| 模型 | 输入价格 | 输出价格 | 上下文 |
|---|---|---|---|
| GPT-4o | $2.5/M | $10/M | 128K |
| Claude 3.5 Sonnet | $3/M | $15/M | 200K |
| Gemini Pro | $0.5/M | $1.5/M | 1M |
| DeepSeek V3 | $0.27/M | $1.1/M | 64K |
* M = 百万 tokens,价格可能随时变动,请以官方为准
Token 优化技巧
- 精简系统提示词,去除冗余描述
- 使用缩写和简洁表达
- 及时清理不需要的历史对话
- 对长文本进行摘要后再输入
- 使用较小的模型处理简单任务
- 设置合理的 max_tokens 限制输出长度