You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LangChain导入create_tool_calling_agent报错,求正确导入方法

解决create_tool_calling_agent导入错误的方法

出现ImportError是因为该函数的导入路径随LangChain版本变化而不同,以下是两种常见场景的正确处理方式:

场景1:使用LangChain 0.1.0及以上版本

直接从langchain.agents导入即可,若你的LangChain版本过低,先执行升级命令:

pip install --upgrade langchain

导入代码:

from langchain.agents import create_tool_calling_agent
from langchain.agents.agent_executor import AgentExecutor

场景2:使用LangChain 0.1.0以下版本

旧版本中该函数位于langchain.agents.openai_tools.base模块,导入代码改为:

from langchain.agents.openai_tools.base import create_tool_calling_agent
from langchain.agents.agent_executor import AgentExecutor

另外需要注意,create_tool_calling_agent需要结合支持工具调用的LLM(如OpenAI的gpt-3.5-turbo-1106等)使用,初始化代理时还需传入模型和工具列表,示例完整代码:

# 需先安装langchain-openai:pip install langchain-openai
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent
from langchain.agents.agent_executor import AgentExecutor
from langchain_core.prompts import ChatPromptTemplate

# 定义你的子代理工具
tools = [insurance_subagent, drafting_subagent]

# 构建监督代理的提示模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是监督代理,负责协调子代理完成指定任务"),
    ("user", "{input}"),
    ("agent_scratchpad", "{agent_scratchpad}")
])

# 初始化支持工具调用的大模型
llm = ChatOpenAI(model="gpt-3.5-turbo-1106", temperature=0)

# 创建监督代理
supervisor_agent = create_tool_calling_agent(llm, tools, prompt)

# 创建代理执行器
executor = AgentExecutor(
    agent=supervisor_agent,
    tools=tools,
    verbose=True
)

内容的提问来源于stack exchange,提问作者Aditya Dandekar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 17:42:08