提示词缓存
为了节省推理成本,您可以在支持的提供商和模型上启用提示词缓存。
大多数提供商会自动启用提示缓存,但请注意,有些提供商(请参阅下文的 Anthropic)要求您按每条消息启用该功能。
使用缓存时(无论是在支持的模型中自动启用,还是通过 cache_control
标头启用),OpenRouter 都会尽力继续路由到同一提供商,以利用热缓存。如果提供缓存提示词的提供商不可用,OpenRouter 将尝试下一个最佳提供商。
OpenAI
缓存价格变化:
- 缓存写入:免费
- 缓存读取:按原始输入价格的 0.5 倍收费 OpenAI 即时缓存为自动化,无需任何额外配置。即时缓存的最小为 1024 Token。
Anthropic Claude
缓存价格变化:
- 缓存写入:按原始输入价格的 1.25 倍收费
- 缓存读取:按原始输入价格的 0.1 倍收费
使用 Anthropic 进行快速缓存需要使用 cache_control
断点。断点数量限制为四个,缓存将在五分钟内过期。因此,建议为大体量文本(例如人物卡片、CSV 数据、RAG 数据、书籍章节等)保留缓存断点。
点击此处了解有关 Anthropic 提示词缓存及其限制的更多信息
cache_control
断点只能插入到多部分消息的文本部分。
系统消息缓存示例:
{
"messages": [
{
"role": "system",
"content": [
{
"type": "text",
"text": "You are a historian studying the fall of the Roman Empire. You know the following book very well:"
},
{
"type": "text",
"text": "HUGE TEXT BODY",
"cache_control": {
"type": "ephemeral"
}
}
]
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "What triggered the collapse?"
}
]
}
]
}
用户消息缓存示例:
{
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Given the book below:"
},
{
"type": "text",
"text": "HUGE TEXT BODY",
"cache_control": {
"type": "ephemeral"
}
},
{
"type": "text",
"text": "Name all the characters in the above book"
}
]
}
]
}
DeepSeek
缓存价格变化:
- 缓存写入:按原始输入价格收费
- 缓存读取:按原始输入价格的 0.1 倍收费
DeepSeek 提示词缓存为自动化,不需要任何额外的配置。