mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-09 07:16:04 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61f3f31edc | ||
|
|
3663d9dc10 | ||
|
|
89ec86c530 |
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "langbot"
|
name = "langbot"
|
||||||
version = "4.8.0"
|
version = "4.8.1"
|
||||||
description = "Production-grade platform for building agentic IM bots"
|
description = "Production-grade platform for building agentic IM bots"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license-files = ["LICENSE"]
|
license-files = ["LICENSE"]
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
"""LangBot - Production-grade platform for building agentic IM bots"""
|
"""LangBot - Production-grade platform for building agentic IM bots"""
|
||||||
|
|
||||||
__version__ = '4.8.0'
|
__version__ = '4.8.1'
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ export default function PipelineDialog({
|
|||||||
: t('pipelines.debugDialog.disconnected')}
|
: t('pipelines.debugDialog.disconnected')}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="ml-auto">
|
<div className="ml-auto mr-4">
|
||||||
<Button
|
<Button
|
||||||
variant="outline"
|
variant="outline"
|
||||||
size="sm"
|
size="sm"
|
||||||
|
|||||||
Reference in New Issue
Block a user