fix: fix the issue of missing token statistics for cache hits in streaming responses (#1244)

This commit is contained in:
Mr.XYS
2026-03-07 21:15:48 +08:00
committed by GitHub
parent 8217bfff50
commit a89f433dde
+17
View File
@@ -109,6 +109,23 @@ impl TokenUsage {
usage.input_tokens = input as u32;
}
}
// 从 message_delta 中处理缓存命中(cache_read_input_tokens)
if usage.cache_read_tokens == 0 {
if let Some(cache_read) =
delta_usage.get("cache_read_input_tokens").and_then(|v| v.as_u64())
{
usage.cache_read_tokens = cache_read as u32;
}
}
// 从 message_delta 中处理缓存创建(cache_creation_input_tokens)
// 注: 现在 zhipu 没有返回 cache_creation_input_tokens 字段
if usage.cache_creation_tokens == 0 {
if let Some(cache_creation) =
delta_usage.get("cache_creation_input_tokens").and_then(|v| v.as_u64())
{
usage.cache_creation_tokens = cache_creation as u32;
}
}
}
}
_ => {}