zen: support alibaba cache write
This commit is contained in:
@@ -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,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user