🎨 优化上游ai兼容性,修复newapi返回token为空的问题
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user