Skip to content

Commit bced9ff

Browse files
committed
🐛 fix: 修复zhipu工具调用问题
1 parent d7d1c15 commit bced9ff

3 files changed

Lines changed: 6 additions & 4 deletions

File tree

astrbot/core/platform/sources/webchat/webchat_event.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ async def _send(message: MessageChain, session_id: str, streaming: bool = False)
2121
await web_chat_back_queue.put(
2222
{"type": "end", "data": "", "streaming": False}
2323
)
24-
return
24+
return ""
2525

2626
cid = session_id.split("!")[-1]
2727
data = ""

astrbot/core/provider/func_tool_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ async def _terminate_mcp_client(self, name: str) -> None:
339339
]
340340
logger.info(f"已关闭 MCP 服务 {name}")
341341

342-
def get_func_desc_openai_style(self, omit_empty_parameter_field = True) -> list:
342+
def get_func_desc_openai_style(self, omit_empty_parameter_field = False) -> list:
343343
"""
344344
获得 OpenAI API 风格的**已经激活**的工具描述
345345
"""

astrbot/core/provider/sources/openai_source.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ async def get_models(self):
8787

8888
async def _query(self, payloads: dict, tools: FuncCall) -> LLMResponse:
8989
if tools:
90-
omit_empty_param_field = "grok" not in payloads.get("model", "").lower()
90+
model = payloads.get("model", "").lower()
91+
omit_empty_param_field = "gemini" in model
9192
tool_list = tools.get_func_desc_openai_style(
9293
omit_empty_parameter_field=omit_empty_param_field
9394
)
@@ -124,7 +125,8 @@ async def _query_stream(
124125
) -> AsyncGenerator[LLMResponse, None]:
125126
"""流式查询API,逐步返回结果"""
126127
if tools:
127-
omit_empty_param_field = "grok" not in payloads.get("model", "").lower()
128+
model = payloads.get("model", "").lower()
129+
omit_empty_param_field = "gemini" in model
128130
tool_list = tools.get_func_desc_openai_style(
129131
omit_empty_parameter_field=omit_empty_param_field
130132
)

0 commit comments

Comments
 (0)