Hakan AI

缓存价格

Hakan AI 的提示词缓存计费规则

部分大模型支持 Prompt Caching(提示词缓存) —— 把固定不变的长提示词(例如系统提示、知识库文档)缓存在上游侧,下次复用时按更低的"缓存读取价"计费,可显著降低长上下文场景的成本。

是否支持缓存

判断方式:在 模型价格列表 中,如果该模型同时显示了"缓存读取价 / 缓存写入价"两列(或其中一列),即说明支持缓存。

计费方式

仅有 "读取价"

"仅隐式缓存,无需操作。命中了就按命中量的读取缓存价格计费。"

这是 隐式缓存 模式:平台自动尝试缓存,命中后按"缓存读取价"计费,不命中则按正常输入价计费。你不需要做任何额外操作。

典型模型:部分 OpenAI 系列、部分 Gemini 模型。

"读取价" + "写入价"

"需先按官方文档要求发起写入操作,按写入价计费。后续请求如命中缓存,则按读取缓存价格计费。"

这是 显式缓存 模式,例如 Anthropic Claude 的 prompt caching:

  1. 首次请求:在 messages 中标记 cache_control,平台为你写入缓存,按"缓存写入价"计费(通常比正常输入价更贵)
  2. 后续请求:若 prompt 前缀命中缓存,按"缓存读取价"计费(通常比正常输入价便宜 80–90%)
  3. 缓存未命中:按正常输入价计费

典型模型:Anthropic Claude 系列。

Anthropic 缓存示例

from anthropic import Anthropic

client = Anthropic(base_url='https://hakanaiktn.com', api_key='sk-xxxxxxxx')

response = client.messages.create(
    model="claude-sonnet-4-5-20250929",
    max_tokens=1024,
    system=[{
        "type": "text",
        "text": "你是一个专业助手……(很长的指令)",
        "cache_control": {"type": "ephemeral"}     # 标记此处为缓存写入
    }],
    messages=[{"role": "user", "content": "我的问题"}]
)

第一次调用按"写入价"计费,5 分钟内的下次相同前缀调用按"读取价"计费。

重要注意事项

以上两种方式均不保证缓存率,因此需要写入缓存的模型请谨慎使用。

  • 缓存有 TTL(通常 5 分钟左右),上游会自动清理
  • 上游可能因负载调度让请求落到不同节点,导致缓存未命中
  • 缓存命中率不保证,因此写入价 > 输入价的模型不一定划算,需根据实际复用频次评估
  • 不同模型的缓存策略不同,详见各厂商官方文档

何时使用缓存

适合:

  • 系统提示词非常长(几千 token 以上)
  • 同一会话内会反复用到同一段长指令 / 文档
  • 高频调用场景(每分钟几十次以上)

不适合:

  • 系统提示词很短
  • 每次请求都不一样
  • 调用频次很低(5 分钟才发一次)

On this page