缓存价格
Hakan AI 的提示词缓存计费规则
部分大模型支持 Prompt Caching(提示词缓存) —— 把固定不变的长提示词(例如系统提示、知识库文档)缓存在上游侧,下次复用时按更低的"缓存读取价"计费,可显著降低长上下文场景的成本。
是否支持缓存
判断方式:在 模型价格列表 中,如果该模型同时显示了"缓存读取价 / 缓存写入价"两列(或其中一列),即说明支持缓存。
计费方式
仅有 "读取价"
"仅隐式缓存,无需操作。命中了就按命中量的读取缓存价格计费。"
这是 隐式缓存 模式:平台自动尝试缓存,命中后按"缓存读取价"计费,不命中则按正常输入价计费。你不需要做任何额外操作。
典型模型:部分 OpenAI 系列、部分 Gemini 模型。
"读取价" + "写入价"
"需先按官方文档要求发起写入操作,按写入价计费。后续请求如命中缓存,则按读取缓存价格计费。"
这是 显式缓存 模式,例如 Anthropic Claude 的 prompt caching:
- 首次请求:在 messages 中标记
cache_control,平台为你写入缓存,按"缓存写入价"计费(通常比正常输入价更贵) - 后续请求:若 prompt 前缀命中缓存,按"缓存读取价"计费(通常比正常输入价便宜 80–90%)
- 缓存未命中:按正常输入价计费
典型模型: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 分钟才发一次)