diff --git a/controller/relay-baidu.go b/controller/relay-baidu.go index ad20d6d6..39f31a9a 100644 --- a/controller/relay-baidu.go +++ b/controller/relay-baidu.go @@ -215,9 +215,11 @@ func baiduStreamHandler(c *gin.Context, resp *http.Response) (*OpenAIErrorWithSt common.SysError("error unmarshalling stream response: " + err.Error()) return true } - usage.PromptTokens += baiduResponse.Usage.PromptTokens - usage.CompletionTokens += baiduResponse.Usage.CompletionTokens - usage.TotalTokens += baiduResponse.Usage.TotalTokens + if baiduResponse.Usage.TotalTokens != 0 { + usage.TotalTokens = baiduResponse.Usage.TotalTokens + usage.PromptTokens = baiduResponse.Usage.PromptTokens + usage.CompletionTokens = baiduResponse.Usage.TotalTokens - baiduResponse.Usage.PromptTokens + } response := streamResponseBaidu2OpenAI(&baiduResponse) jsonResponse, err := json.Marshal(response) if err != nil {