zen: support alibaba cache write

This commit is contained in:
Frank
2026-04-14 18:48:00 -04:00
parent 3b2a2c461d
commit 60b8041ebb

View File

@@ -6,12 +6,14 @@ type Usage = {
total_tokens?: number total_tokens?: number
// used by moonshot // used by moonshot
cached_tokens?: number cached_tokens?: number
// used by xai // used by xai & alibaba
prompt_tokens_details?: { prompt_tokens_details?: {
text_tokens?: number text_tokens?: number
audio_tokens?: number audio_tokens?: number
image_tokens?: number image_tokens?: number
cached_tokens?: number cached_tokens?: number
// used by alibaba
cache_creation_input_tokens?: number
} }
completion_tokens_details?: { completion_tokens_details?: {
reasoning_tokens?: number reasoning_tokens?: number
@@ -62,6 +64,7 @@ export const oaCompatHelper: ProviderHelper = ({ adjustCacheUsage, safetyIdentif
const outputTokens = usage.completion_tokens ?? 0 const outputTokens = usage.completion_tokens ?? 0
const reasoningTokens = usage.completion_tokens_details?.reasoning_tokens ?? undefined const reasoningTokens = usage.completion_tokens_details?.reasoning_tokens ?? undefined
let cacheReadTokens = usage.cached_tokens ?? usage.prompt_tokens_details?.cached_tokens ?? undefined let cacheReadTokens = usage.cached_tokens ?? usage.prompt_tokens_details?.cached_tokens ?? undefined
const cacheWriteTokens = usage.prompt_tokens_details?.cache_creation_input_tokens ?? undefined
if (adjustCacheUsage && !cacheReadTokens) { if (adjustCacheUsage && !cacheReadTokens) {
cacheReadTokens = Math.floor(inputTokens * 0.9) cacheReadTokens = Math.floor(inputTokens * 0.9)
@@ -72,7 +75,7 @@ export const oaCompatHelper: ProviderHelper = ({ adjustCacheUsage, safetyIdentif
outputTokens, outputTokens,
reasoningTokens, reasoningTokens,
cacheReadTokens, cacheReadTokens,
cacheWrite5mTokens: undefined, cacheWrite5mTokens: cacheWriteTokens,
cacheWrite1hTokens: undefined, cacheWrite1hTokens: undefined,
} }
}, },