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

8 月 3 日
 rikiishere

这个相差的 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 } }

1353 次点击
所在节点    OpenAI
6 条回复
neteroster
8 月 3 日
你命中缓存那个请求的内容是什么?和第一次完全一样吗?
blakezhaothinks
8 月 3 日
3 是未命中缓存的 token 数量。
rikiishere
8 月 3 日
@neteroster 3 次请求完全一致
rikiishere
8 月 3 日
@blakezhaothinks 那我第一次请求为啥就差了 3 ? 第一次请求的 token 不应该是全部作为 cache 吗?
neteroster
8 月 3 日
@rikiishere 除了你的内容还会有一些 chat template 中的特殊 token ,比如<|start|>,这些很可能不会缓存所以会有轻微差异
rikiishere
8 月 3 日
@neteroster 明白了,感谢解惑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1231721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX