fix: issue 1936 (#1937)

This commit is contained in:
Guanchao Wang
2026-01-27 20:28:19 +08:00
committed by GitHub
parent d9ba2a17ff
commit 89ec86c530
3 changed files with 23 additions and 6 deletions
@@ -25,7 +25,7 @@ class DeepseekChatCompletions(chatcmpl.OpenAIChatCompletions):
use_funcs: list[resource_tool.LLMTool] = None, use_funcs: list[resource_tool.LLMTool] = None,
extra_args: dict[str, typing.Any] = {}, extra_args: dict[str, typing.Any] = {},
remove_think: bool = False, remove_think: bool = False,
) -> provider_message.Message: ) -> tuple[provider_message.Message, dict]:
self.client.api_key = use_model.provider.token_mgr.get_token() self.client.api_key = use_model.provider.token_mgr.get_token()
args = {} args = {}
@@ -57,4 +57,11 @@ class DeepseekChatCompletions(chatcmpl.OpenAIChatCompletions):
# 处理请求结果 # 处理请求结果
message = await self._make_msg(resp, remove_think) message = await self._make_msg(resp, remove_think)
return message # Extract token usage from response
usage_info = {}
if hasattr(resp, 'usage') and resp.usage:
usage_info['input_tokens'] = resp.usage.prompt_tokens or 0
usage_info['output_tokens'] = resp.usage.completion_tokens or 0
usage_info['total_tokens'] = resp.usage.total_tokens or 0
return message, usage_info
@@ -130,7 +130,7 @@ class ModelScopeChatCompletions(requester.ProviderAPIRequester):
use_funcs: list[resource_tool.LLMTool] = None, use_funcs: list[resource_tool.LLMTool] = None,
extra_args: dict[str, typing.Any] = {}, extra_args: dict[str, typing.Any] = {},
remove_think: bool = False, remove_think: bool = False,
) -> provider_message.Message: ) -> tuple[provider_message.Message, dict]:
self.client.api_key = use_model.provider.token_mgr.get_token() self.client.api_key = use_model.provider.token_mgr.get_token()
args = {} args = {}
@@ -162,7 +162,10 @@ class ModelScopeChatCompletions(requester.ProviderAPIRequester):
# 处理请求结果 # 处理请求结果
message = await self._make_msg(resp) message = await self._make_msg(resp)
return message # ModelScope uses streaming, usage info not available
usage_info = {}
return message, usage_info
async def _req_stream( async def _req_stream(
self, self,
@@ -26,7 +26,7 @@ class MoonshotChatCompletions(chatcmpl.OpenAIChatCompletions):
use_funcs: list[resource_tool.LLMTool] = None, use_funcs: list[resource_tool.LLMTool] = None,
extra_args: dict[str, typing.Any] = {}, extra_args: dict[str, typing.Any] = {},
remove_think: bool = False, remove_think: bool = False,
) -> provider_message.Message: ) -> tuple[provider_message.Message, dict]:
self.client.api_key = use_model.provider.token_mgr.get_token() self.client.api_key = use_model.provider.token_mgr.get_token()
args = {} args = {}
@@ -57,4 +57,11 @@ class MoonshotChatCompletions(chatcmpl.OpenAIChatCompletions):
# 处理请求结果 # 处理请求结果
message = await self._make_msg(resp, remove_think) message = await self._make_msg(resp, remove_think)
return message # Extract token usage from response
usage_info = {}
if hasattr(resp, 'usage') and resp.usage:
usage_info['input_tokens'] = resp.usage.prompt_tokens or 0
usage_info['output_tokens'] = resp.usage.completion_tokens or 0
usage_info['total_tokens'] = resp.usage.total_tokens or 0
return message, usage_info