七牛缓存完全支持Anthropic官方命中逻辑,请先仔细阅读官方介绍:Claude Prompt Caching 官方文档>
注意:aws在26年部分模型已经支持1h缓存,1h缓存写入价格为标准价格的200%,七牛即将支持。Amazon Bedrock now supports 1-hour duration for prompt caching
cache_control 参数,您可以使用任一协议调用 Claude 模型并启用缓存功能。| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 缓存类型,固定值 "ephemeral"(临时缓存) |
| ttl | string | 否 | 缓存过期时间(仅支持5m,即将支持1h) |
cache_control 字段。// ❌ 内容太短,无法缓存
{
"type": "text",
"text": "你是一个助手。", // 少于 1024 tokens
"cache_control": {"type": "ephemeral"}
}
// ✅ 内容足够长,可以缓存
{
"type": "text",
"text": "[超过 1024 tokens 的长文本内容...]",
"cache_control": {"type": "ephemeral"}
}cache_control 标记放在最后一个内容块上,这样可以缓存前面所有内容的上下文。(最多20个块)// ✅ 推荐方式:缓存所有系统消息
{
"role": "system",
"content": [
{
"type": "text",
"text": "你是一个专家。"
},
{
"type": "text",
"text": "这是背景知识..."
},
{
"type": "text",
"text": "这是详细文档...",
"cache_control": {"type": "ephemeral"} // 放在最后
}
]
}{
"usage": {
"prompt_tokens": 100,
"completion_tokens": 150,
"total_tokens": 250,
"prompt_tokens_details": {
"cache_creation_tokens": 2000,// 写入缓存的 token 数(七牛扩展字段)
"cached_tokens": 2000 // 从缓存读取的 token 数(命中缓存时出现)
}
}
}
}{
"usage": {
"input_tokens": 100,
"cache_creation_input_tokens": 2000, // 写入缓存的 token 数
"cache_read_input_tokens": 2000, // 从缓存读取的 token 数
"output_tokens": 150
}
}cache_control 参数不会报错,但也不会生效。usage 字段中,检查 prompt_tokens_details 的值:cache_creation_tokens表示创建缓存;cached_tokens表示命中缓存usage字段中,检查cache_creation_input_tokens表示创建缓存,cache_read_input_tokens表示命中缓存常见疑问:有客户反馈在使用 OpenAI 协议时,为什么看不到 cache_creation_input_tokens 字段?这是因为 OpenAI 协议使用的是 cache_creation_tokens 字段(而非 cache_creation_input_tokens),这是为了与 OpenAI 协议的字段命名风格保持一致。
注意, 即将支持的 1h缓存,缓存写入价格是标准价格的200%
| 协议 | 接入点 | 认证方式 |
|---|---|---|
| OpenAI 兼容 | https://api.qnaigc.com/v1/chat/completions | Authorization: Bearer YOUR_API_KEY |
| Anthropic 原生 | https://api.qnaigc.com/v1/messages | x-api-key: YOUR_API_KEY |