🎨 优化上游ai兼容性,修复newapi返回token为空的问题

This commit is contained in:
2026-03-04 02:29:28 +08:00
parent ae73298bbf
commit a0d98b4761
4 changed files with 20 additions and 0 deletions

View File

@@ -49,6 +49,13 @@ func (s *AiProxyService) ProcessClaudeMessage(ctx context.Context, req *request.
resp.Content[0].Text = injector.ProcessResponse(resp.Content[0].Text)
}
// 5. 统一填充 standard_usage转换为 OpenAI 风格的用量统计
resp.StandardUsage = &response.ChatCompletionUsage{
PromptTokens: resp.Usage.InputTokens,
CompletionTokens: resp.Usage.OutputTokens,
TotalTokens: resp.Usage.InputTokens + resp.Usage.OutputTokens,
}
return resp, nil
}

View File

@@ -48,6 +48,15 @@ func (s *AiProxyService) ProcessChatCompletion(ctx context.Context, req *request
}
// 4. 处理响应并收集正则日志
if resp != nil {
// 统一填充 standard_usage方便上游使用统一格式解析
resp.StandardUsage = &response.ChatCompletionUsage{
PromptTokens: resp.Usage.PromptTokens,
CompletionTokens: resp.Usage.CompletionTokens,
TotalTokens: resp.Usage.TotalTokens,
}
}
if preset != nil && injector != nil && len(resp.Choices) > 0 {
resp.Choices[0].Message.Content = injector.ProcessResponse(resp.Choices[0].Message.Content)