Refactors the cached token code for all models

This commit is contained in:
Vignesh Subbiah
2025-01-29 22:25:01 +05:30
parent 26369ca48b
commit 6ccb061d33

View File

@@ -106,21 +106,21 @@ export class UnboundHandler implements ApiHandler, SingleCompletionHandler {
} }
if (usage) { if (usage) {
if (this.getModel().id.startsWith("anthropic/")) { const usageData: any = {
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", type: "usage",
inputTokens: usage?.prompt_tokens || 0, inputTokens: usage?.prompt_tokens || 0,
outputTokens: usage?.completion_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
} }
} }
} }