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

LangChain v0.3创建ReAct Agent报错:Prompt缺失必要变量

LangChain v0.3 ReAct Agent 初始化失败问题排查与解决

错误原因

create_react_agent 函数对传入的prompt有强制变量要求,必须包含 tool_names、agent_scratchpad、tools 三个核心变量,你自定义的PromptTemplate仅定义了input和tools_description,缺少这些必填项,因此抛出ValueError。

解决方案

方案1:使用官方内置的ReAct prompt模板(推荐)

直接导入LangChain提供的ReAct专用prompt模板,无需手动编写,避免变量遗漏。

方案2:自定义prompt时补充所有必填变量

如果需要自定义prompt内容,必须在模板中加入所有必填变量,并同步更新input_variables列表。

修正后的完整代码(方案1实现)

# Import necessary modules
from langchain_openai import ChatOpenAI
from langchain.agents.react.agent import create_react_agent
from langchain_community.tools import Tool
# 导入官方ReAct prompt模板
from langchain.agents.react.prompt import REACT_PROMPT
from langchain.agents import AgentExecutor

# Define a mock function to find similar companies
def find_similar_companies(company_name: str) -> str:
    mock_data = {
        "XYZ Corp": "ABC Inc, DEF Ltd",
        "Acme Corp": "GHI LLC, JKL PLC"
    }
    return f"Similar companies to {company_name}: {mock_data.get(company_name, 'No similar companies found.')}"

# Define the tools
tools = [
    Tool(
        name="Find Similar Companies",
        func=find_similar_companies,
        description="Use this tool to find similar companies based on a company name."
    )
]

# Initialize the ChatOpenAI model
llm = ChatOpenAI(
    model="gpt-3.5-turbo",
    openai_api_key="API_KEY"
)

# 使用官方REACT_PROMPT创建agent
agent = create_react_agent(
    llm=llm,
    tools=tools,
    prompt=REACT_PROMPT
)

# 将agent包装为可执行的AgentExecutor
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# Test the agent
query = "Find similar companies to XYZ Corp"
response = agent_executor.invoke({"input": query})

# Print the response
print("Agent Response:", response)

补充说明

创建完成的agent需要用AgentExecutor包装后才能调用invoke方法,原代码中缺少这一步,即使解决了prompt变量问题也无法正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:23:19