1. AI模型接口
七牛云大模型推理服务
  • AI模型接口
    • 七牛云 AI 大模型推理服务
    • 常见问题 FAQ
    • 关键概念与术语表
    • 本文档站使用方式
    • 如何获取API-KEY
    • Claude 模型缓存功能使用指南 (Cache Control)
    • 模型
      • 模型列表
    • 聊天
      • bypass接口
        • bypass Anthropic协议
        • bypass Vertex/Gemini协议
        • bypass Responses协议
      • gemini-3.1-pro-preview
        • gemini-3.1-pro-preview 思考
        • gemini-3.1-pro-preview qfile
      • gemini-2.5-pro
        • gemini-2.5-pro思考
      • openai/gpt-5
        • openai/gpt-5 思考
      • openai/gpt-5.2
        • openai/gpt-5.2 思考
      • openai/gpt-5.2-codex
        • openai/gpt-5.2-codex
      • gemini-2.5-flash
        • gemini-2.5-flash 思考
      • claude-4.5-sonnet
        • claude-4.5-sonnet 思考
      • claude-4.6-opus
        • claude-4.6-opus 思考
      • deepseek/deepseek-v3.2-251201
        • deepseek/deepseek-v3.2-251201 思考
      • deepseek-v3
        • 聊天
      • claude-3.7-sonnet
        • 聊天完成
      • doubao-seed-1.6
        • doubao-seed-1.6
      • qwen3-max-2026-01-23
        • 聊天完成
      • moonshotai/kimi-k2.5
        • 聊天完成
      • 聊天完成
      • Anthropic协议
    • 视频
      • Webhook
      • sora-2
        • 创建视频生成任务
        • 查询视频生成状态
        • 视频 Remix
      • sora-2-pro
        • 创建视频生成任务
        • 查询视频生成状态
        • 视频 Remix
      • kling-v2-1
        • 创建视频任务
        • 查询视频生成状态
      • kling-v2-5-turbo
        • 创建视频任务
        • 查询视频生成状态
      • kling-v2-6
        • 创建视频任务
        • 查询视频生成状态
      • kling-v3
        • 创建视频任务
        • 查询视频生成状态
      • kling-video-o1
        • 创建视频任务
        • 查询视频生成状态
      • kling-v3-omni
        • 创建视频任务
        • 查询视频生成状态
      • Veo
        • 创建视频生成任务
        • 查询视频生成任务
      • vidu
        • viduq1
          • 创建文生视频任务
          • 创建参考生视频任务-非主体调用(视频生成)
          • 创建参考生视频任务-主体调用(支持音视频功能)
          • 查询任务状态
          • 查询任务结果
        • viduq2
          • 创建文生视频任务
          • 创建参考生视频任务-非主体调用(视频生成
          • 创建参考生视频任务-主体调用(支持音视频功能)
          • 查询任务状态
          • 查询任务结果
        • viduq2-pro
          • 创建图生视频任务
          • 创建首尾帧生视频任务
          • 创建参考生视频任务-非主体调用(视频生成)
          • 查询任务状态
          • 查询任务结果
        • viduq2-turbo
          • 创建图生视频任务
          • 创建首尾帧生视频任务
          • 查询任务状态
          • 查询任务结果
        • viduq3-pro
          • 创建图生视频任务
          • 创建文生视频任务
          • 创建首尾帧生视频任务
          • 查询任务状态
          • 查询任务结果
        • viduq3-turbo
          • 创建图生视频任务
          • 创建文生视频任务
          • 创建首尾帧生视频任务
          • 查询任务状态
          • 查询任务结果
      • bytedance/doubao-seedance-2-0-260128
        • 创建视频生成任务
        • 查询视频生成任务
    • 图像生成
      • kling-v1
        • 创建文生图或单图生图任务
        • 查询任务状态
      • kling-v1-5
        • 创建文生图或单图生图任务
        • 查询任务状态
      • kling-v2
        • 创建文生图或单图生图任务
        • 创建多图生图任务
        • 查询任务状态
      • kling-v2-new
        • 创建单图生图任务
        • 查询任务状态
      • kling-v2-1
        • 创建文生图或单图生图任务
        • 创建多图生图任务
        • 查询任务状态
      • gemini-2.5-flash-image
        • 对话接口 - 支持文生图、图生图和纯对话
        • 文生图接口 - 根据文本描述生成图像
        • 图生图接口 - 基于输入图像生成新图像
      • gemini-3.0-pro-image-preview
        • 对话接口 - 支持文生图、图生图和纯对话
        • 文生图接口 - 根据文本描述生成图像
        • 图生图接口 - 基于输入图像生成新图像
      • gemini-3.1-flash-image-preview
        • 对话接口 - 支持文生图、图生图和纯对话
        • 文生图接口 - 根据文本描述生成图像
        • 图生图接口 - 基于输入图像生成新图像
      • kling-image-o1
        • 创建图像生成任务
        • 查询图像生成任务
        • 获取结果
    • 文件
      • 创建文件上传任务
      • 查询文件状态
      • 列出用户文件
    • 数据模型
      • 聊天
        • ChatCompletionRequest
        • ChatCompletionRequestMessage
        • MessageContent
        • ImageUrl
        • VideoUrl
        • FileUrl
        • InputAudio
        • CacheControl
        • ThinkingBlock
        • Image
        • ToolObject
        • ToolFunction
        • ToolParameters
        • ToolCall
        • ToolCallFunction
        • FunctionCall
        • ChatTemplateKwargs
        • ThinkType
        • ReasoningType
        • ImageConfig
        • SafetySetting
      • 视频
        • Sora
          • SoraVideoTask
          • SoraVideoTaskRemix
        • kling-v2-1
          • KlingV21CreateRequest
          • KlingV21CreateResponse
          • KlingV21StatusResponse
        • kling-video-o1
          • KlingVideoO1CreateRequest
          • KlingVideoO1CreateResponse
          • KlingVideoO1StatusResponse
        • kling-v2-5-turbo
          • KlingV25TurboCreateRequest
          • KlingV25TurboCreateResponse
          • KlingV25TurboStatusResponse
        • kling-v3-omni
          • KlingV3OmniCreateRequest
        • kling-v3
          • KlingV3CreateRequest
        • kling-v2-6
          • KlingV26CreateRequest
          • KlingV26CreateResponse
          • KlingV26VideoStatusResponse
        • Veo
          • CreateVideoGenerationRequest
          • Instance
          • ImageInput
          • LastFrameInput
          • VideoInput
          • ReferenceImage
          • Parameters
          • CreateVideoGenerationResponse
          • VideoGenerationJobInfo
          • VideoGenerationData
          • VideoResult
          • ErrorResponse
        • VideoCreateResponse
        • VideoStatusResponse
        • File
      • 图像生成
        • kling-v1
          • KlingV1CreateImageRequest
          • KlingV1EditImageRequest
        • kling-v1-5
          • KlingV15CreateImageRequest
        • kling-v2
          • KlingV2CreateImageRequest
          • KlingV2EditImageRequest
        • kling-v2-new
          • KlingV2NewCreateImageRequest
        • kling-v2-1
          • KlingV21CreateImageRequest
          • KlingV21EditImageRequest
        • gemini-2.5-flash-image
          • Gemini25FlashImageChatCompletionRequest
          • Gemini25FlashImageGenerationRequest
          • Gemini25FlashImageEditRequest
          • Gemini25FlashImageConfig
        • gemini-3.0-pro-image-preview
          • Gemini30ProImageChatCompletionRequest
          • Gemini30ProImageGenerationRequest
          • Gemini30ProImageEditRequest
          • Gemini30ProImageConfig
        • KlingImageTaskResponse
        • KlingImageTaskStatusResponse
        • ChatMessage
        • ChatCompletionResponse
        • ImageGenerationResponse
        • FalOmniImageRequest
        • Gemini31FlashImageChatCompletionRequest
        • CreateOmniImageResponse
        • Gemini31FlashImageGenerationRequest
        • ImageTaskInfoResponse
        • Gemini31FlashImageEditRequest
        • Gemini31FlashImageConfig
      • CreateFileRequest
      • QueueStatus
      • ContentItem
      • FileResponse
      • Veo31FirstLastFrameToVideoInput
      • ToolItem
      • CreateVideoTaskResponse
      • FileListResponse
      • ApiErrorBody
      • File
      • ImageUrlObject
      • FileDeleteResponse
      • GetVideoTaskResponse
      • ChatMessage
      • KodoSource
      • Veo31ImageToVideoInput
      • Veo31ImageToVideoOutput
      • ChatCompletionResponse
      • FileError
      • VideoUrlObject
      • ImageGenerationResponse
      • AudioUrlObject
      • DraftTaskObject
      • VideoTaskOutputContent
      • ErrorResponse
      • VideoTaskToolUsageItem
      • VideoTaskUsage
  • 管理接口
    • 管理接口的认证方式
    • API Key 管理
      • 批量创建 API Key
    • 日志导出
      • 导出请求日志
      • 导出请求日志为文件
    • 数据模型
      • StatLogOKResp
      • BatchCreateApiKeysRequest
      • StatLogResp
      • ErrorResponse
      • BatchCreateApiKeysSuccessResponse
      • BatchCreateApiKeysData
      • ApiKeyInfo
      • ErrorDetail
  1. AI模型接口

Claude 模型缓存功能使用指南 (Cache Control)

七牛缓存完全支持Anthropic官方命中逻辑,请先仔细阅读官方介绍:Claude Prompt Caching 官方文档>
本文档介绍如何在调用 Claude 系列模型时使用缓存功能,以降低 API 调用成本并提高响应速度。

缓存功能简介#

Claude 的 Prompt Caching 功能允许您缓存常用的上下文内容(如系统提示词、长文档、代码库等),在后续的请求中复用这些缓存内容,从而:
降低成本:缓存命中的 tokens 按更低的价格计费(约为标准价格的 10%)
提高速度:缓存内容无需重新处理,可显著减少首 token 响应时间
提升效率:适合需要反复使用相同上下文的场景

缓存机制#

缓存有效期:默认 5 分钟(300 秒)
最小缓存大小:缓存内容至少需要 1024 个 tokens
缓存位置:可以在 system 消息和 user/assistant 消息的最后一个内容块上设置缓存点
计费说明:
缓存写入(Cache Creation):按标准价格的 125% 计费
缓存读取(Cache Hit):按标准价格的 10% 计费
注意:aws在26年部分模型已经支持1h缓存,1h缓存写入价格为标准价格的200%,七牛即将支持。Amazon Bedrock now supports 1-hour duration for prompt caching

支持的协议#

七牛大模型推理平台在兼容 OpenAI 和 Anthropic 协议的基础上,扩展支持 cache_control 参数,您可以使用任一协议调用 Claude 模型并启用缓存功能。

OpenAI 协议调用方式#

cache_control 参数说明#

字段类型必填说明
typestring是缓存类型,固定值 "ephemeral"(临时缓存)
ttlstring否缓存过期时间(仅支持5m,即将支持1h)

完整示例#

Anthropic 协议调用方式#

请求格式#

Anthropic 原生协议同样支持在内容块中添加 cache_control 字段。

完整示例#

最佳实践#

1. 合理选择缓存位置#

将稳定且重复使用的内容放在需要缓存的位置,例如:
✅ 推荐缓存的内容:
系统提示词(system prompt)
长文档和代码库
示例数据集
产品知识库
❌ 不推荐缓存的内容:
用户的具体问题(每次都不同)
临时生成的内容
频繁变化的数据

2. 确保缓存内容足够大#

缓存只对超过 1024 tokens 的内容有效,否则不会产生缓存效果。
// ❌ 内容太短,无法缓存
{
    "type": "text",
    "text": "你是一个助手。",  // 少于 1024 tokens
    "cache_control": {"type": "ephemeral"}
}

// ✅ 内容足够长,可以缓存
{
    "type": "text",
    "text": "[超过 1024 tokens 的长文本内容...]",
    "cache_control": {"type": "ephemeral"}
}

3. 缓存放在最后#

在多内容块场景中,将 cache_control 标记放在最后一个内容块上,这样可以缓存前面所有内容的上下文。(最多20个块)
// ✅ 推荐方式:缓存所有系统消息
{
    "role": "system",
    "content": [
        {
            "type": "text",
            "text": "你是一个专家。"
        },
        {
            "type": "text",
            "text": "这是背景知识..."
        },
        {
            "type": "text",
            "text": "这是详细文档...",
            "cache_control": {"type": "ephemeral"}  // 放在最后
        }
    ]
}

4. 利用缓存有效期#

缓存有效期为 5 分钟,在此期间发起的后续请求都可以命中缓存。适合:
多轮对话场景
批量处理相同上下文的任务
用户在短时间内的连续提问

5. 监控缓存使用情况#

在响应中查看缓存使用情况,评估缓存效果:
{
    "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
  }
}

常见问题#

其他非 Claude 模型可能不支持此功能,添加 cache_control 参数不会报错,但也不会生效。

Q: 如何判断缓存是否生效?#

A: 在 OpenAI协议响应的 usage 字段中,检查 prompt_tokens_details 的值:cache_creation_tokens表示创建缓存;cached_tokens表示命中缓存
在Anthropic协议响应的 usage字段中,检查cache_creation_input_tokens表示创建缓存,cache_read_input_tokens表示命中缓存

Q: 为什么字段名称不同?#

A: 这是因为 OpenAI 原生协议没有缓存创建的概念,而 Anthropic 协议原生支持缓存功能。为了保持协议兼容性:
Anthropic 协议:遵循 Anthropic 官方规范,使用 cache_creation_input_tokens 和 cache_read_input_tokens
OpenAI 协议:在保持 OpenAI 协议兼容性的基础上,七牛云添加了扩展字段:
使用 cache_creation_tokens 表示缓存创建(与 Anthropic 的命名逻辑一致)
使用 cached_tokens 表示缓存命中(符合 OpenAI 协议的命名习惯)
常见疑问:有客户反馈在使用 OpenAI 协议时,为什么看不到 cache_creation_input_tokens 字段?这是因为 OpenAI 协议使用的是 cache_creation_tokens 字段(而非 cache_creation_input_tokens),这是为了与 OpenAI 协议的字段命名风格保持一致。

Q: 缓存功能会增加成本吗?#

A: 首次创建缓存时,缓存写入按标准价格的 125% 计费,但后续命中缓存的请求按标准价格的 10% 计费。如果在 5 分钟内有 2 次以上的缓存命中,总体成本会降低。
示例:
标准价格:$0.01/1K tokens
缓存写入:$0.0125/1K tokens(首次)
缓存读取:$0.001/1K tokens(后续)
如果相同内容使用 3 次:
不使用缓存:0.01×3=0.03
使用缓存:0.0125+0.001 × 2 = $0.0145(节省 51.7%)
注意, 即将支持的 1h 缓存,缓存写入价格是标准价格的200%

Q: 缓存过期后会怎样?#

A: 缓存过期后,下次请求会重新创建缓存。缓存过期不会影响 API 的正常使用,只是无法享受缓存带来的成本和速度优势。

Q: 可以手动清除缓存吗?#

A: 不支持手动清除缓存,缓存会在 5 分钟后自动失效。如果需要更新缓存内容,只需发送新的请求即可创建新的缓存。

Q: 缓存内容有大小限制吗?#

A: 缓存内容的最小大小为 1024 tokens,最大大小受模型的 context window 限制(例如 Claude 4.5 Sonnet 支持 200K tokens)。

API 接入点#

协议接入点认证方式
OpenAI 兼容https://api.qnaigc.com/v1/chat/completionsAuthorization: Bearer YOUR_API_KEY
Anthropic 原生https://api.qnaigc.com/v1/messagesx-api-key: YOUR_API_KEY
修改于 2026-03-30 10:04:44
上一页
如何获取API-KEY
下一页
模型列表
Built with