本地大模型编程实战(11)用提示词提升与外部工具交互的能力并支持deepseek(2)
在使用 LLM(大语言模型) 时,经常需要调用一些自定义的工具方法完成特定的任务,比如:执行一些特殊算法、查询天气预报、旅游线路等。 很多大模型都具备使用这些工具方法的能力,Langchain 也为这些调用提供了便利。 之前的文章介绍了 llama3.1 与工具方法交互的实际例子,不过可惜 langchain 对 deepseek 支持还不够,导致: llm.bind_tools 根据用户问题生成的工具方法签名与 llama3.1 不同,在后续在调用工具方法时报错 deepseek 返回的结果中包含了思考过程内容,显然 Langchain 还不能正确解析出最终结果,这会导致 langchain 的很多方法不能正常运行 这次我们将尝试通过以下两种方法解决 Langchain 使用 deepseek 时产生的上述问题: 使用提示词让大模型推理调用工具的方法名称和参数 使用自定义的 JsonOutputParser 处理 deepseek 返回的信息 这里使用 llama3.1 和 deepseek 等不同模型做对比,并不是为了说明孰优孰劣,而是仅仅为了技术演示需要。 ...