最近在折腾开源大模型(用的Qwen2.5-7B)配合LangChain搭一个简单的Agent,功能是让它根据用户指令调用本地API(比如查天气或者发邮件)。结果发现模型经常“自作主张”——明明定义了三个工具,它非要用一个不存在的参数,或者干脆跳过工具直接编答案。试了调整system prompt和temperature,甚至换了不同Prompt模板,效果还是不稳定。看到网上有人说要用function calling模型,但开源模型这块支持参差不齐,想请教下:
1. 是不是得换专门微调过的模型(比如Qwen2.5的function calling版)?
2. 或者有没有更好的框架(比如AutoGen、CrewAI)能降低工具调用的出错率?
3. 还是说我需要在工具描述上做文章?比如把参数格式写得更详细?