功能特性
- 自动缓存:被动缓存,自动识别重复的上下文内容,无需更改接口调用方式 (相对的,在 anthropic API 中使用的需要显式设置参数的缓存模式,我们称之为「主动缓存」,详见Anthropic 主动缓存)
- 降低成本:命中缓存的输入 Token 以更低价格计费,大幅节省成本
- 提升速度:减少重复内容的处理时间,加快模型响应
- 系统提示词复用:在多轮对话中,系统提示词通常保持不变;
- 固定的工具清单:在一类任务中使用的工具往往是固定的;
- 多轮对话历史:在复杂的对话中,历史消息往往包含大量重复信息;
代码示例
- Anthropic SDK 示例
- OpenAI SDK 示例
安装 SDK环境变量设置国内用户使用 第一次请求 - 建立缓存第二次请求 - 复用缓存响应包含上下文缓存的 Token 使用信息:
https://api.minimaxi.com/v1,国际用户使用 https://api.minimax.io/v1注意事项
- 缓存适用于包含 512 个及以上的输入 token 数量的 API 调用;
- 缓存采用前缀匹配的方式,以「工具定义-系统提示词-历史对话内容」为顺序构建,任意模块内容的变更,都可能会影响缓存的效果;
最佳实践
- 在对话的开头部分放置静态的或重复的内容(包括工具定义、系统提示词,历史对话内容 ),将动态的用户信息放在对话的最后,以最大程度利用 cache;
- 通过API返回的 usage tokens 数量,来监测缓存性能,定期分析以优化你的使用策略;
计费说明
prompt 缓存采用差异化的计费策略:- 缓存命中 Token:按优惠价格计费
- 新增的输入 Token: 按标准输入价格计费
- 输出 Token:按标准输出价格计费
详见 价格页计费示例:
Cache 对比
| Prompt 缓存(被动缓存) | Anthropic 主动缓存 | |
|---|---|---|
| 使用方式 | 自动识别重复内容并缓存 | 在API中显式设置 cache_control |
| 计费方式 | 命中缓存的token以优惠价格进行计费 写入缓存的部分无额外计费 | 命中缓存的token以优惠价格进行计费 首次写入缓存的token需要额外计费 |
| 缓存过期 | 根据系统负载自动调整过期时间 | 5min过期时间,持续使用会自动续期 |
| 支持模型 | MiniMax-M2.1 系列 | MiniMax-M2.1 系列 MiniMax-M2 系列 |