OpenAI 自动缓存
OpenAI 自 GPT-4o 起对 ≥1024 token 的前缀 自动缓存,无需客户端任何配置。- 缓存命中价格通常为输入价格的 0.5×(GPT-4o)或 0.1×(o3 / GPT-5)。
- 响应
usage.prompt_tokens_details.cached_tokens字段显示命中数。
Claude cache_control
Claude 通过显式 cache_control 标记缓存段:
- 写入:首次创建缓存按 1.25× 输入价格(贵 25%)。
- 命中:后续 5 分钟内相同前缀按 0.1× 输入价格。
- TTL:5 分钟(可在 cache_control 中通过
ttl: "1h"延长,需对应产品支持)。
DeepSeek 自动缓存
DeepSeek-V3 / R1 对长前缀自动缓存,缓存命中按官方公示的极低单价计费(通常约 0.1× 原价)。- 命中数显示在
usage.prompt_cache_hit_tokens字段。 - OpenPAI 透传并对应扣费。
Google Gemini Context Caching
Gemini 2.5 系列支持显式cachedContents 接口:
cached_content 引用,命中部分按 Google 公示的缓存价格结算。
控制台展示
调用日志中可以看到:| 字段 | 含义 |
|---|---|
| 输入 Token | 客户端发送的原始输入 |
| 命中缓存 Token | 其中命中缓存的部分 |
| 缓存倍率 | 命中部分按此倍率计费 |
| 缓存写入 Token | 仅 Claude,首次写入的额外贵价部分 |
最佳实践
把不变内容放前面
System prompt、RAG 检索结果、Few-shot 示例 → 放到 messages 数组前面,后面追加用户问题。
批量请求共享前缀
同一长上下文下,多次问不同问题,缓存命中收益最大化。
控制变化
避免在前缀里插入时间戳、随机数,否则前缀对不上就无法命中。
测量收益
在日志中观察
cached_tokens 占比,优化 prompt 结构。注意事项
- 缓存命中率受 上游实际可用性 影响,OpenPAI 不会人为伪造缓存命中。
- 跨通道路由的请求可能在两个上游账号之间切换,导致缓存失效 —— 高缓存依赖的场景可在控制台为模型 绑定固定通道。
- 缓存内容由上游厂商加密存储,OpenPAI 不存储任何 prompt 内容。