openai 的 cache 是咋计算的呀? input_tokens=cache_write_tokens+3?

rikiishere 2026-08-03 13:53 1

这个相差的 3 是啥呀?
第一次写缓存:


{
"input_tokens": 8412,
"input_tokens_details": {
"cache_write_tokens": 8409,
"cached_tokens": 0
}
}


第二、三次命中缓存:


{
"input_tokens": 8412,
"input_tokens_details": {
"cache_write_tokens": 0,
"cached_tokens": 8409
}
}

最新回复 (6)
  • neteroster 08-03 14:05
    1
    你命中缓存那个请求的内容是什么?和第一次完全一样吗?
  • blakezhaothinks 08-03 14:05
    2
    3 是未命中缓存的 token 数量。
  • rikiishere 楼主 08-03 14:09
    3
    @neteroster 3 次请求完全一致
  • rikiishere 楼主 08-03 14:10
    4
    @blakezhaothinks 那我第一次请求为啥就差了 3 ? 第一次请求的 token 不应该是全部作为 cache 吗?
  • neteroster 08-03 14:13
    5
    @rikiishere 除了你的内容还会有一些 chat template 中的特殊 token ,比如<|start|>,这些很可能不会缓存所以会有轻微差异
  • rikiishere 楼主 08-03 14:26
    6
    @neteroster 明白了,感谢解惑
* 帖子来源V2EX
返回