creamlike1024 8 месяцев назад
Родитель
Сommit
02571c20ff
1 измененных файлов с 3 добавлено и 3 удалено
  1. 3 3
      relay/channel/gemini/relay-gemini-native.go

+ 3 - 3
relay/channel/gemini/relay-gemini-native.go

@@ -51,7 +51,7 @@ func GeminiTextGenerationHandler(c *gin.Context, resp *http.Response, info *rela
 	// 计算使用量(基于 UsageMetadata)
 	// 计算使用量(基于 UsageMetadata)
 	usage := dto.Usage{
 	usage := dto.Usage{
 		PromptTokens:     geminiResponse.UsageMetadata.PromptTokenCount,
 		PromptTokens:     geminiResponse.UsageMetadata.PromptTokenCount,
-		CompletionTokens: geminiResponse.UsageMetadata.CandidatesTokenCount,
+		CompletionTokens: geminiResponse.UsageMetadata.CandidatesTokenCount + geminiResponse.UsageMetadata.ThoughtsTokenCount,
 		TotalTokens:      geminiResponse.UsageMetadata.TotalTokenCount,
 		TotalTokens:      geminiResponse.UsageMetadata.TotalTokenCount,
 	}
 	}
 
 
@@ -108,7 +108,7 @@ func GeminiTextGenerationStreamHandler(c *gin.Context, resp *http.Response, info
 		// 更新使用量统计
 		// 更新使用量统计
 		if geminiResponse.UsageMetadata.TotalTokenCount != 0 {
 		if geminiResponse.UsageMetadata.TotalTokenCount != 0 {
 			usage.PromptTokens = geminiResponse.UsageMetadata.PromptTokenCount
 			usage.PromptTokens = geminiResponse.UsageMetadata.PromptTokenCount
-			usage.CompletionTokens = geminiResponse.UsageMetadata.CandidatesTokenCount
+			usage.CompletionTokens = geminiResponse.UsageMetadata.CandidatesTokenCount + geminiResponse.UsageMetadata.ThoughtsTokenCount
 			usage.TotalTokens = geminiResponse.UsageMetadata.TotalTokenCount
 			usage.TotalTokens = geminiResponse.UsageMetadata.TotalTokenCount
 			usage.CompletionTokenDetails.ReasoningTokens = geminiResponse.UsageMetadata.ThoughtsTokenCount
 			usage.CompletionTokenDetails.ReasoningTokens = geminiResponse.UsageMetadata.ThoughtsTokenCount
 			for _, detail := range geminiResponse.UsageMetadata.PromptTokensDetails {
 			for _, detail := range geminiResponse.UsageMetadata.PromptTokensDetails {
@@ -136,7 +136,7 @@ func GeminiTextGenerationStreamHandler(c *gin.Context, resp *http.Response, info
 	}
 	}
 
 
 	// 计算最终使用量
 	// 计算最终使用量
-	usage.CompletionTokens = usage.TotalTokens - usage.PromptTokens
+	// usage.CompletionTokens = usage.TotalTokens - usage.PromptTokens
 
 
 	// 移除流式响应结尾的[Done],因为Gemini API没有发送Done的行为
 	// 移除流式响应结尾的[Done],因为Gemini API没有发送Done的行为
 	//helper.Done(c)
 	//helper.Done(c)