From 3a804c691c1f2ca5af08302d2e52755033d46f74 Mon Sep 17 00:00:00 2001 From: "Chang, Hui-Tang" Date: Wed, 12 Mar 2025 18:13:48 +0800 Subject: [PATCH] fix: correct accumulation of CompletionTokensDetails and PromptTokensDetails in ChatCompletionAccumulator. --- streamaccumulator.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/streamaccumulator.go b/streamaccumulator.go index 3b9f207..2763469 100644 --- a/streamaccumulator.go +++ b/streamaccumulator.go @@ -141,6 +141,14 @@ func (cc *ChatCompletion) accumulateDelta(chunk ChatCompletionChunk) bool { cc.Usage.PromptTokens += chunk.Usage.PromptTokens cc.Usage.TotalTokens += chunk.Usage.TotalTokens + cc.Usage.CompletionTokensDetails.AcceptedPredictionTokens += chunk.Usage.CompletionTokensDetails.AcceptedPredictionTokens + cc.Usage.CompletionTokensDetails.RejectedPredictionTokens += chunk.Usage.CompletionTokensDetails.RejectedPredictionTokens + cc.Usage.CompletionTokensDetails.ReasoningTokens += chunk.Usage.CompletionTokensDetails.ReasoningTokens + cc.Usage.CompletionTokensDetails.AudioTokens += chunk.Usage.CompletionTokensDetails.AudioTokens + + cc.Usage.PromptTokensDetails.CachedTokens += chunk.Usage.PromptTokensDetails.CachedTokens + cc.Usage.PromptTokensDetails.AudioTokens += chunk.Usage.PromptTokensDetails.AudioTokens + cc.Model = chunk.Model cc.Created = chunk.Created cc.SystemFingerprint = chunk.SystemFingerprint