Procházet zdrojové kódy

Refactors the cached token code for all models

Vignesh Subbiah před 11 měsíci
rodič
revize
6ccb061d33
1 změnil soubory, kde provedl 14 přidání a 14 odebrání
  1. 14 14
      src/api/providers/unbound.ts

+ 14 - 14
src/api/providers/unbound.ts

@@ -106,21 +106,21 @@ export class UnboundHandler implements ApiHandler, SingleCompletionHandler {
 			}
 
 			if (usage) {
-				if (this.getModel().id.startsWith("anthropic/")) {
-					yield {
-						type: "usage",
-						inputTokens: usage?.prompt_tokens || 0,
-						outputTokens: usage?.completion_tokens || 0,
-						cacheWriteTokens: (usage as any)?.cache_creation_input_tokens || 0,
-						cacheReadTokens: (usage as any)?.cache_read_input_tokens || 0,
-					}
-				} else {
-					yield {
-						type: "usage",
-						inputTokens: usage?.prompt_tokens || 0,
-						outputTokens: usage?.completion_tokens || 0,
-					}
+				const usageData: any = {
+					type: "usage",
+					inputTokens: usage?.prompt_tokens || 0,
+					outputTokens: usage?.completion_tokens || 0,
+				}
+
+				// Only add cache tokens if they exist
+				if ((usage as any)?.cache_creation_input_tokens) {
+					usageData.cacheWriteTokens = (usage as any).cache_creation_input_tokens
+				}
+				if ((usage as any)?.cache_read_input_tokens) {
+					usageData.cacheReadTokens = (usage as any).cache_read_input_tokens
 				}
+
+				yield usageData
 			}
 		}
 	}