mirror of
https://github.com/FuQuan233/nonebot-plugin-llmchat.git
synced 2026-02-05 03:28:05 +00:00
修复在长文本下容易触发tool_call错误
This commit is contained in:
parent
3089bb51ae
commit
53f3f185e7
1 changed files with 10 additions and 4 deletions
|
|
@ -453,7 +453,7 @@ async def process_messages(context_id: int, is_group: bool = True):
|
||||||
message = response.choices[0].message
|
message = response.choices[0].message
|
||||||
|
|
||||||
# 处理响应并处理工具调用
|
# 处理响应并处理工具调用
|
||||||
while preset.support_mcp and message.tool_calls:
|
while preset.support_mcp and message and message.tool_calls:
|
||||||
new_messages.append({
|
new_messages.append({
|
||||||
"role": "assistant",
|
"role": "assistant",
|
||||||
"tool_calls": [tool_call.model_dump() for tool_call in message.tool_calls]
|
"tool_calls": [tool_call.model_dump() for tool_call in message.tool_calls]
|
||||||
|
|
@ -505,11 +505,17 @@ async def process_messages(context_id: int, is_group: bool = True):
|
||||||
|
|
||||||
message = response.choices[0].message
|
message = response.choices[0].message
|
||||||
|
|
||||||
|
# 安全检查:确保 message 不为 None
|
||||||
|
if not message:
|
||||||
|
logger.error("API 响应中的 message 为 None")
|
||||||
|
await handler.send(Message("服务暂时不可用,请稍后再试"))
|
||||||
|
return
|
||||||
|
|
||||||
reply, matched_reasoning_content = pop_reasoning_content(
|
reply, matched_reasoning_content = pop_reasoning_content(
|
||||||
response.choices[0].message.content
|
message.content
|
||||||
)
|
)
|
||||||
reasoning_content: str | None = (
|
reasoning_content: str | None = (
|
||||||
getattr(response.choices[0].message, "reasoning_content", None)
|
getattr(message, "reasoning_content", None)
|
||||||
or matched_reasoning_content
|
or matched_reasoning_content
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -518,7 +524,7 @@ async def process_messages(context_id: int, is_group: bool = True):
|
||||||
"content": reply,
|
"content": reply,
|
||||||
}
|
}
|
||||||
|
|
||||||
reply_images = getattr(response.choices[0].message, "images", None)
|
reply_images = getattr(message, "images", None)
|
||||||
|
|
||||||
if reply_images:
|
if reply_images:
|
||||||
# openai的sdk里的assistant消息暂时没有images字段,需要单独处理
|
# openai的sdk里的assistant消息暂时没有images字段,需要单独处理
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue