使用工具调用时,有概率传输的json结构不全
报错日志:
使用模型:内网部署的qwq-32b
如果报错是否考虑仅是工具调用失败,不影响全局回答
您好,这个看着像是上一轮工具调用的参数不完整,请问工具的结果正常吗?这个部分我们看看修改兜底下
第一轮工具调用就报错了
可以贴下工具的输出的参数吗?另外我刚更新了一个兜底策略,麻烦pull下看看对你的场景是否有效?
工具输出参数:
输入参数:
报错是start calling tool时大模型喂的输入参数不完整
可以贴下工具的输出参数吗?另外我刚更新了一个兜底策略,麻烦拉下看看对你的场景是否有效?
0.0.22版本我也遇到了这个问题,参考下面issue。刚才升级到0.0.24后,调用工具也是出现这个错误,但是模型会一直尝试修改参数重新调用工具,一直循环,这个问题似乎更加严重。
https://github.com/QwenLM/Qwen-Agent/issues/547
工具输出参数:
输入参数:
报错是start calling tool时大模型喂的输入参数不完整
这个例子里看起来参数结构挺完整的?不全指的是缺key了吗?
可以贴下工具的输出参数吗?另外我刚更新了一个兜底策略,麻烦拉下看看对你的场景是否有效?
0.0.22版本我也遇到了这个问题,参考下面issue。刚才升级到0.0.24后,调用工具也是出现这个错误,但是模型会一直尝试修改参数重新调用工具,一直循环,这个问题似乎更加严重。
这次修改是在模型输出参数不完整时,让tool抛出报错,模型有修正的机会,看来是遇到模型无法修复的badcase了。可以设置export QWEN_AGENT_DEBUG=1来打印具体的模型输入输出日志给我们看看吗?
export QWEN_AGENT_DEBUG=1
可以贴下工具的输出参数吗?另外我刚更新了一个兜底策略,麻烦拉下看看对你的场景是否有效?
0.0.22版本我也遇到了这个问题,参考下面issue。刚才升级到0.0.24后,调用工具也是出现这个错误,但是模型会一直尝试修改参数重新调用工具,一直循环,这个问题似乎更加严重。
这次修改是在模型输出参数不完整时,让tool抛出报错,模型有修正的机会,看来是遇到模型无法修复的badcase了。可以设置export QWEN_AGENT_DEBUG=1来打印具体的模型输入输出日志给我们看看吗?
以下是报错信息,我观察了一下json确实有问题,末尾多了一个},后续多轮也没有修正成功。我想问下这是qwen3模型对于json格式数据推理能力比较差的原因吗?
[TOOL_CALL] quickchart-server-generate_chart
{"type": "doughnut", "labels": ["案件大类_9", "案件大类_8", "案件大类_3", "案件大类_10", "案件大类_7", "案件大类_4", "案件大类_6", "案件大类_5", "案件大类_1", "案件大类_2"], "datasets": [{"label": "案件数量", "data": [16, 14, 14, 12, 11, 10, 7, 6, 5, 5], "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56", "#4BC0C0", "#9966FF", "#FF9F40", "#8E5EAF", "#FFCD56", "#66B2FF", "#5CD6D6"], "borderColor": "rgba(255,255,255,0.2)", "hoverBackgroundColor": "rgba(255,255,255,0.4)", "hoverBorderColor": "#fff"}], "title": "案件类型数量分布", "options": {"legend": {"position": "right", "labels": {"usePointStyle": true, "boxWidth": 12, "fontColor": "#333", "fontSize": 12}}, "responsive": true, "maintainAspectRatio": false}}}2025-05-20 15:20:16,053 - nous_fncall_prompt.py - 196 - WARNING - Invalid json tool-calling arguments
2025-05-20 15:20:16,129 - nous_fncall_prompt.py - 196 - WARNING - Invalid json tool-calling arguments
2025-05-20 15:20:16,144 - agent.py - 188 - WARNING - An error occurred when calling tool `quickchart-server-generate_chart`:
JSONDecodeError: Extra data: line 1 column 666 (char 665)
Traceback:
File "E:\00tools\pycharm\py-XM\chatbi-agent\.venv\Lib\site-packages\qwen_agent\agent.py", line 178, in _call_tool
tool_result = tool.call(tool_args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\00tools\pycharm\py-XM\chatbi-agent\.venv\Lib\site-packages\qwen_agent\tools\mcp_manager.py", line 237, in call
tool_args = json.loads(params)
^^^^^^^^^^^^^^^^^^
File "E:\00develop\python\install_31210\Lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\00develop\python\install_31210\Lib\json\decoder.py", line 341, in decode
raise JSONDecodeError("Extra data", s, end)
[TOOL_RESPONSE] quickchart-server-generate_chart
An error occurred when calling tool `quickchart-server-generate_chart`:
JSONDecodeError: Extra data: line 1 column 666 (char 665)
Traceback:
File "E:\00tools\pycharm\py-XM\chatbi-agent\.venv\Lib\site-packages\qwen_agent\agent.py", line 178, in _call_tool
tool_result = tool.call(tool_args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\00tools\pycharm\py-XM\chatbi-agent\.venv\Lib\site-packages\qwen_agent\tools\mcp_manager.py", line 237, in call
tool_args = json.loads(params)
^^^^^^^^^^^^^^^^^^
File "E:\00develop\python\install_31210\Lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\00develop\python\install_31210\Lib\json\decoder.py", line 341, in decode
raise JSONDecodeError("Extra data", s, end)
2025-05-20 15:20:16,163 - nous_fncall_prompt.py - 44 - WARNING - Invalid json tool-calling arguments
这个参数看着确实偏复杂,我看嵌套了多层,有可能就是遇上模型badcase了。我看你传了 'temperature': 0,删掉试试?另外也可以试试qwen3-235b-a22b,看是否全部模型都有这个问题
badcase
删掉temperature也不行,qwen3-235b-a22b试过了,也会出现json错误。但是这种现象的出现是不规律的。
工具输出参数:
输入参数:
报错是start calling tool时大模型喂的输入参数不完整
这个例子里看起来参数结构挺完整的?不全指的是缺key了吗?
是json结构不全,可能是缺“}”之类的
好的,我们会持续优化参数格式的准确率。有统计过这个case里system里有多少个tool吗?
好的,我们会持续优化参数格式的准确率。有统计过这个case里system里有多少个tool吗?
5个
报错日志:
使用模型:内网部署的qwq-32b
如果报错是否考虑仅是工具调用失败,不影响全局回答
调工具有概率报这个错
现在有解决吗
这个问题还没解决吗?求助
模型能力问题吧,可以通过repair_json修复下(能接受的话)