跳到主要内容

提示词缓存

为了节省推理成本,您可以在支持的提供商和模型上启用提示词缓存。

大多数提供商会自动启用提示缓存,但请注意,有些提供商(请参阅下文的 Anthropic)要求您按每条消息启用该功能。

使用缓存时(无论是在支持的模型中自动启用,还是通过 cache_control 标头启用),OpenRouter 都会尽力继续路由到同一提供商,以利用热缓存。如果提供缓存提示词的提供商不可用,OpenRouter 将尝试下一个最佳提供商。

OpenAI

缓存价格变化:

  • 缓存写入:免费
  • 缓存读取:按原始输入价格的 0.5 倍收费 OpenAI 即时缓存为自动化,无需任何额外配置。即时缓存的最小为 1024 Token。

单击此处阅读有关 OpenAI 提示缓存及其限制的更多信息

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 提示词缓存为自动化,不需要任何额外的配置。