Tro*_*sky 6 agent openai-api langchain large-language-model
我尝试执行 langchain 代理。我想将 verbose 的输出保存到变量中,但我可以从 agent.run 访问的只是最终答案。
如何将详细输出保存到变量以便以后使用?
我的代码:
import json
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
from langchain.agents import Tool
from langchain.utilities import PythonREPL
llm = OpenAI(temperature=0.1)
## Define Tools
python_repl = PythonREPL()
tools = load_tools(["python_repl", "llm-math"], llm=llm)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
response = agent.run("What is 3^2. Use calculator to solve.")
Run Code Online (Sandbox Code Playgroud)
我尝试访问代理的响应,但这只是最终答案,而不是详细输出。
打印响应仅给出 9。但我想要详细的过程,例如:
> Entering new AgentExecutor chain...
I need to use the calculator to solve this.
Action: Calculator
Action Input: 3^2
Observation: Answer: 9
Thought: I now know the final answer.
Final Answer: 9
Run Code Online (Sandbox Code Playgroud)
小智 4
我没有找到任何 API 将详细输出保存为变量。
但是,我认为可以通过访问此链接中的中间步骤来实现该问题的替代解决方案。
即设定return_intermediate_steps=True,
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True,
return_intermediate_steps=True
)
Run Code Online (Sandbox Code Playgroud)
并使用response = agent({"input":"What is 3^2. Use calculator to solve"})代替agent.run.
最后,您可以访问中间步骤 response["intermediate_steps"]
希望这会有所帮助。
| 归档时间: |
|
| 查看次数: |
8199 次 |
| 最近记录: |