Open EvilCalf opened 4 months ago
我们修下。
@tuhahaha 这个问题我记得我们修过,没修完全?
刚在 main 分支加了个小fix,现在代码至少应该不会直接挂掉了:https://github.com/QwenLM/Qwen-Agent/commit/e271cdf4128c2523b5e0d752403da12d2f57ee95
但模型为什么会输出这个badcase我还没有太大头绪(我之前遇到的一般是Action为不存在的工具、但看这个case似乎是Thought的内容出现在了Action里),请问是对话轮数特别多、或者输入特别长吗?
并没有这就是第一轮,而且我这边用的print(respone)就和示例一样在for response in bot.run(messages):,所有的bot输出全在一个元素string里,并不是thought action final这些单独列表一个元素。是因为流式输出的原因么
并没有这就是第一轮,而且我这边用的print(respone)就和示例一样在for response in bot.run(messages):,所有的bot输出全在一个元素string里,并不是thought action final这些单独列表一个元素。是因为流式输出的原因么
React Agent没有实现“thought action final这些单独列表一个元素”这个逻辑。要拆分的话,可以用fncall_agent(但背后的prompt和react有点不一样),工具调用会被单独拆分到function_call的消息里。
[{'role': 'assistant', 'content': 'Thought: 首先,我需要整理用户的症状列表。\nAction: 没有使用工具的必要,因为我已经得到了完整的症状列表。\nAction Input: None\n'}]
File "/home/xujd/miniconda3/envs/qwen/lib/python3.11/site-packages/qwen_agent/agent.py", line 88, in run for rsp in self._run(messages=new_messages, **kwargs): File "/home/xujd/miniconda3/envs/qwen/lib/python3.11/site-packages/qwen_agent/agents/react_chat.py", line 92, in _run observation = self._call_tool(action, ^^^^^^^^^^^^^^^^^^^^^^^ File "/home/xujd/miniconda3/envs/qwen/lib/python3.11/site-packages/qwen_agent/agents/fncall_agent.py", line 88, in _call_tool if self.function_map[tool_name].file_access: