使用 Langgraph - 指示 Anthropic 禁用并行工具使用

问题描述 投票:0回答:1

直接使用 Anthropic 消息 API 并向模型提供多个工具,可以通过 tool_choice 字段中的 setting

disable_parallel_tool_use=true
来指示模型一次仅调用一个工具。

我正在使用 LangGraph,我希望能够做同样的事情 - 指示模型一次仅选择一个工具。

下面是我的代码的核心。 我省略了工具方法定义和提示,因为它们不直接相关。

model = ChatAnthropic(model="claude-3-5-sonnet-20241022")
tools = [search_word_forms, search_dictionaries, WordDetermination]
model_with_tools = model.bind_tools(tools, tool_choice="any")
response = model_with_tools.invoke(state["messages"])

使用这个框架,我如何指示模型禁用并行工具的使用?

langchain py-langchain langgraph
1个回答
0
投票

查看Langchain的ChatAnthropic文档:https://python.langchain.com/api_reference/anthropic/chat_models/langchain_anthropic.chat_models.ChatAnthropic.html#langchain_anthropic.chat_models.ChatAnthropic.bind_tools

您可以将包含

type
disable_parallel_tool_use
等选项的字典作为
tool_choice
bind_tools
参数。

所以示例代码如下:

model = ChatAnthropic(model="claude-3-5-sonnet-20241022")

tool_choice = {
    "type": "any" if tool_call_only else "auto",
    "disable_parallel_tool_use": not enable_parallel_tool_calls,
}
model_with_tools = model.bind_tools(tools, tool_choice=tool_choice)
© www.soinside.com 2019 - 2024. All rights reserved.