feat: 在 OpenAI 聊天响应中集成 usage_metadata 以跟踪 token 使用情况

此更改将 `usage_metadata` 参数添加到了 `app/handler/response_handler.py` 和 `app/service/chat/openai_chat_service.py` 中的相关函数。

`usage_metadata`(通常包含 token 计数:prompt_tokens, completion_tokens, total_tokens)现在会从 OpenAI API 响应中提取,并用于填充标准化响应格式中的 `usage` 字段。

这样可以更准确地跟踪 OpenAI 聊天完成接口的 token 消耗。
This commit is contained in:
snaily
2025-05-06 18:32:47 +08:00
parent d4a3ed3a57
commit f13a4fba5f
2 changed files with 7 additions and 5 deletions

View File

@@ -204,10 +204,11 @@ class OpenAIChatService:
response = None
try:
response = await self.api_client.generate_content(payload, model, api_key)
usage_metadata = response.get("usageMetadata", {})
is_success = True
status_code = 200
return self.response_handler.handle_response(
response, model, stream=False, finish_reason="stop"
response, model, stream=False, finish_reason="stop", usage_metadata=usage_metadata
)
except Exception as e:
is_success = False