提示缓存

最后更新

提示缓存让重复的长前缀(系统提示、文档、工具定义)不必每次都按全价计算。命中缓存的 tokens 按缓存读取单价计费,通常比输入单价便宜得多。

怎么用

  • Anthropic 协议:在要缓存的内容块上加 "cache_control": {"type": "ephemeral"},与官方用法一致。
  • OpenAI 与 Gemini 协议:多数上游对足够长的重复前缀自动缓存,不需要额外参数。
{
  "model": "MODEL_ID",
  "max_tokens": 1024,
  "system": [
    {"type": "text", "text": "这里是一段很长的产品手册……", "cache_control": {"type": "ephemeral"}}
  ],
  "messages": [{"role": "user", "content": "退货政策是什么?"}]
}

平台怎么处理

  • 报价是否支持提示缓存看模型详情页的能力标签。不支持缓存的报价照常承接请求,只是不会命中缓存,所以带 cache_control 不会让请求失败。
  • 缓存在供应商那边,换了报价就要重新建缓存。给多轮对话带上 X-ModelPortal-Session 请求头,平台会尽量让同一会话落在同一报价上,见默认路由规则。
  • prompt_cache_key 可以关联到用户,平台在转发前删掉它。
  • 用量里的缓存读取、缓存写入分开计价;报价没有单独设缓存单价时按输入单价计费,见计费。