1. KeyError: 'intermediate_steps'
agent_scratchpad=lambda x: format_log_to_str(x["intermediate_steps"]),
~^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'intermediate_steps'
報錯原因:在 Agent 執(zhí)行流程中,傳入 agent_scratchpad 的輸入字典缺少 intermediate_steps 鍵。這是 LangChain 新舊版本差異和 Prompt 配置不匹配的典型問題。
解決辦法:需要使用AgentExecutor, 會自動傳入intermediate_steps。 主要還是版本問題。
AgentExecutor 自動注入 intermediate_steps,但依賴 Prompt 含 {agent_scratchpad}
測試代碼:
prompt = hub.pull("hwchase17/react")
agent = create_react_agent(model, tools=tools,prompt=prompt)
agent_executor = AgentExecutor(
agent=agent,
tools=tools,
verbose=True, # 開啟詳細(xì)日志,方便觀察思考過程
max_iterations=5, # 防止無限循環(huán)
handle_parsing_errors=True # 開啟可以轉(zhuǎn)化為反思
)
result = await agent_executor.ainvoke({"input": query})