提示缓存显著减少了重复任务或包含一致元素的提示的处理时间,有效减低了 Token 成本。
tools
、system
和 messages
,直到并包含使用 cache_control
标记的内容块。模型 | 基础输入 Token | 5 分钟缓存写入 | 1 小时缓存写入 | 缓存命中和刷新 | 输出 Token |
---|---|---|---|---|---|
Claude Opus 4 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Sonnet 4 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Sonnet 3.7 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Sonnet 3.5 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Haiku 3.5 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Opus 3 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
Claude Haiku 3 | 按平台定价 | 1.25x 基础价格 | 2x 基础价格 | 0.1x 基础价格 | 按平台定价 |
cache_control
参数标记要缓存的可重用内容的结束位置。
缓存前缀按以下顺序创建:tools
、system
,然后是 messages
。
使用 cache_control
参数,你可以定义最多 4 个缓存断点,允许分别缓存不同的可重用部分。对于每个断点,系统会自动检查之前位置的缓存命中情况,如果找到就使用最长的匹配前缀。
cache_control
,更短的提示词也无法缓存。任何请求缓存少于这个数量的 Token 都会在不使用缓存的情况下处理。要查看提示词是否被缓存,请查看响应使用情况字段。
对于并发请求,注意缓存条目只有在第一个响应开始后才可用。如果需要并行请求的缓存命中,请等待第一个响应后再发送后续请求。
目前支持两种缓存类型:
extended-cache-ttl-2025-04-11
作为 beta header,然后在 cache_control 定义中包含 ttl:
cache_control
标记来启用该部分请求的缓存。
cache_control
缓存。但是,当思考块出现在之前的助手回合中时,可以与其他内容一起缓存。以这种方式缓存时,从缓存读取时它们确实计为输入 Token。cache_creation_input_tokens
: 创建新缓存条目时写入缓存的 Token 数cache_read_input_tokens
: 从缓存中检索的 Token 数input_tokens
: 未从缓存读取或用于创建缓存的输入 Token 数cache_control
tool_choice
和图片使用在调用之间保持一致cache_control
参数来保证查找提示词前面部分的缓存,这对于包含很长内容块列表的查询可能很有用tool_choice
或提示词中任何位置的图片存在/缺失都会使缓存失效,需要创建新的缓存条目。cache_control: { type: "ephemeral" }
声明,缓存费率为常规输入的 1.25 倍(5 分钟)或 2 倍(1 小时),缓存 Tokens 读取费用为 0.1 倍,生命周期 5 分钟或 1 小时。文档usage_metadata
字段中查看缓存命中的 Token 数量。