提示词缓存
自动提示词缓存允许 AISIX 为直接 Anthropic 模型的请求添加 Anthropic 提示词缓存标记,使调用方无需修改请求即可获得模型服务提供方的提示词缓存折扣。这是 Claude 模型上的模型服务提供方侧提示词缓存,不是复用已存储响应的网关侧响应缓存。
本指南将介绍如何在 Anthropic 模型上启用自动提示词缓存、选择缓存有效期,并验证具有稳定前缀的重复请求会以折扣价格读取缓存。
自动提示词缓存的工作原理
Anthropic 提示词缓存需要每个请求显式启用:调用方使用 cache_control 标记稳定前缀,之后模型服务提供方会在后续请求中以较低输入价格从缓存提供该前缀。许多客户端从不设置这些标记,因此每轮都需支付完整输入费用。
在模型上启用自动提示词缓存后,AISIX 会为未携带任何标记的调用方 添加标记:
- 在最后一个系统内容块上添加一个标记,用于缓存稳定的工具和系统前缀。
- 在最后一条消息的最后一个内容块上添加一个标记,用于缓存整个对话前缀。因为标记位于最后一轮,对话增长时缓存前缀也会随之推进并增量重新缓存。
AISIX 最多只添加这两个标记,而且仅在请求未携带任何自定义标记时添加,因此不会超过模型服务提供方每个请求最多四个断点的限制。
如果调用方已经发送了任何 cache_control 标记,AISIX 会原样转发请求,不再添加标记。调用方自定义的缓存策略始终优先。
配置自动提示词缓存
自动提示词缓存是直接 Anthropic 模型的模型级设置,除非显式启用,否则处于关闭状态。
创建或更新模型时添加 auto_prompt_caching 配置:
{
"enabled": true,
"ttl": "5m"
}
| 字段 | 类型 | 描述 |
|---|---|---|
enabled | boolean | AISIX 是否为此模型注入提示词缓存标记。 |
ttl | string | 注入标记的缓存有效期:5m(省略时的默认值)或 1h。参见选择缓存有效期。 |
准备工作
请先准备以下内容:
- 一个 Admin 和代理监听器都可用的自托管 AISIX 网关。
- 网关
config.yaml中的 Admin Key。 - 一个 Anthropic 模型服务提供方密钥,以及可向 Claude 模型发送 Chat Completions 请求的调用方 API Key。