瀏覽代碼

zen: support alibaba cache write

Frank 3 天之前
父節點
當前提交
60b8041ebb
共有 1 個文件被更改,包括 5 次插入2 次删除
  1. 5 2
      packages/console/app/src/routes/zen/util/provider/openai-compatible.ts

+ 5 - 2
packages/console/app/src/routes/zen/util/provider/openai-compatible.ts

@@ -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,
     }
     }
   },
   },