Skip to content

缓存命中数:OpenAI 那一处没有时,认 DeepSeek / Kimi 自己的老字段 - #4

Merged
Jerry-TZ merged 1 commit into
mainfrom
claude/dreamy-faraday-rn209o
Sep 24, 2026
Merged

Jerry-TZ merged 1 commit into
mainfrom
claude/dreamy-faraday-rn209o

Conversation

@Jerry-TZ

Copy link
Copy Markdown
Owner

背景

_usage 只读 prompt_tokens_details.cached_tokens。按现在的文档,DeepSeek、Kimi、GLM、Gemini 也都填这一处 —— FINDINGS 里那些实测命中率(81.5%、94%)就是这么量出来的,所以日常不是 0,之前说「可能一直是 0」估计得重了。

但两家各有自己的老字段,而只带老字段的响应还在(旧接口、中转网关;any-llm、Operit 都报过 DeepSeek 命中被丢成 0):

provider 老字段
DeepSeek prompt_cache_hit_tokens(= prompt_tokens − prompt_cache_miss_tokens)
Kimi usage 顶层的 cached_tokens

撞上的时候命中静悄悄地记成 0,cache_trace 那份样本就跟着错。

改动

OpenAI 那处没有(或是 None)时,依次认这两个;都没有才是 0。

判据

test_cached_tokens_are_read_from_whichever_field_the_provider_fills:OpenAI、DeepSeek 老字段、Kimi 顶层、details 在但值是 None、流式里 Kimi 的原样 dict、都没报。旧代码下当场红在 DeepSeek 那一条。

验证

  • 344 条判据:342 过、5 skip、1 xfail(原有);selfcheck 绿
  • 真 openai SDK 对象核对了六种形状:OpenAI、DeepSeek 新旧、Kimi 新旧、都没报

🤖 Generated with Claude Code

https://claude.ai/code/session_014gdkHx6rLSMVsUmQiErVSn


Generated by Claude Code

_usage 原来只读 prompt_tokens_details.cached_tokens。按现在的文档,DeepSeek、Kimi、
GLM、Gemini 也都填这一处 —— FINDINGS 里那些实测命中率(81.5%、94%)就是这么量出来的,
所以日常不是 0,这一条之前估计得重了。

但两家各有自己的老字段,而只带老字段的响应还在(旧接口、中转网关;any-llm、Operit
都报过 DeepSeek 命中被丢成 0):
  · DeepSeek:prompt_cache_hit_tokens(= prompt_tokens - prompt_cache_miss_tokens)
  · Kimi:usage 顶层的 cached_tokens
撞上的时候命中静悄悄地记成 0,cache_trace 那份样本就跟着错。现在 OpenAI 那处没有
(或是 None)时依次认这两个,都没有才是 0。

真 openai SDK 对象核对了六种形状:OpenAI、DeepSeek 新旧、Kimi 新旧、都没报。

344 判据:342 过、5 skip、1 xfail(原有)。selfcheck 绿。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gdkHx6rLSMVsUmQiErVSn
@Jerry-TZ
Jerry-TZ merged commit 4438baf into main Sep 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants