引言
在使用大型语言模型(LLM)调用工具时,尽管这种方法比仅依赖提示要可靠得多,但它并不完美。模型有时可能调用不存在的工具,或者返回的参数不符合请求的模式。本文将探讨如何在LangChain中构建错误处理机制,来缓解这些问题。
主要内容
1. 简化工具模式
保持模式简单,减少同时传递的工具数量,并为工具提供清晰的名称和描述,可以帮助降低错误风险,但这些措施并非万无一失。
2. 设置环境
首先,我们需要安装以下软件包:
%pip install --upgrade --quiet langchain-core langchain-openai
3. 定义工具和链
from langchain_core.tools import tool
@tool
def complex_tool(int_arg: int, float_arg: float, dict_arg: dict) -> int:
"""Do something complex with a complex tool."""
return int_arg * float_arg
llm_with_tools = llm.bind_tools(
[complex_tool],
)
# 定义链
chain = llm_with_tools | (lambda msg: msg.tool_calls[0]