From b7c3ad086737f96a39314b88eabc5782971d462c Mon Sep 17 00:00:00 2001 From: RedwindA Date: Mon, 14 Jul 2025 21:40:15 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20Add=20nil=20check=20for?= =?UTF-8?q?=20xaiResponse.Usage=20before=20calculating=20CompletionTokens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- relay/channel/xai/text.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/relay/channel/xai/text.go b/relay/channel/xai/text.go index 46169ff8..4d098102 100644 --- a/relay/channel/xai/text.go +++ b/relay/channel/xai/text.go @@ -90,8 +90,10 @@ func xAIHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.Response if err != nil { return nil, types.NewError(err, types.ErrorCodeBadResponseBody) } - xaiResponse.Usage.CompletionTokens = xaiResponse.Usage.TotalTokens - xaiResponse.Usage.PromptTokens - xaiResponse.Usage.CompletionTokenDetails.TextTokens = xaiResponse.Usage.CompletionTokens - xaiResponse.Usage.CompletionTokenDetails.ReasoningTokens + if xaiResponse.Usage != nil { + xaiResponse.Usage.CompletionTokens = xaiResponse.Usage.TotalTokens - xaiResponse.Usage.PromptTokens + xaiResponse.Usage.CompletionTokenDetails.TextTokens = xaiResponse.Usage.CompletionTokens - xaiResponse.Usage.CompletionTokenDetails.ReasoningTokens + } // new body encodeJson, err := common.Marshal(xaiResponse)