计划和执行代理通过首先规划要做什么,然后执行子任务来实现目标。这个想法在很大程度上受到BabyAGI的启发,然后是"Plan-and-Solve" paper。
规划几乎总是由LLM完成。
执行通常由一个单独的代理完成(配备工具)。
# 导入所需的模块和类
from langchain.chains import LLMMathChain
from langchain_community.utilities import DuckDuckGoSearchAPIWrapper
from langchain_core.tools import Tool
from langchain_experimental.plan_and_execute import (
PlanAndExecute,
load_agent_executor,
load_chat_planner,
)
from langchain_openai import ChatOpenAI, OpenAI
# 导入所需的库
from DuckDuckGoSearchAPIWrapper import DuckDuckGoSearchAPIWrapper
from OpenAI import OpenAI
from LLMMathChain import LLMMathChain
# 创建DuckDuckGoSearchAPIWrapper对象
search = DuckDuckGoSearchAPIWrapper()
# 创建OpenAI对象,并设置temperature为0
llm = OpenAI(temperature=0)
# 使用LLM创建LLMMathChain对象,并设置verbose为True
llm_math_chain = LLMMathChain.from_llm(llm=llm, verbose=True)
# 创建工具列表
tools = [
Tool(
name="Search", # 工具名称为Search
func=search.run, # 工具功能为运行search的run方法
description="useful for when you need to answer questions about current events", # 工具描述为回答有关当前事件的问题时很有用
),
Tool(
name="Calculator", # 工具名称为Calculator
func=llm_math_chain.run, # 工具功能为运行llm_math_chain的run方法
description="useful for when you need to answer questions about math", # 工具描述为回答有关数学问题时很有用
),
]
# 导入所需的库
from chat_openai import ChatOpenAI
from chat_planner import load_chat_planner
from agent_executor import load_agent_executor
from plan_and_execute import PlanAndExecute
agent.run(
"Who is the current prime minister of the UK? What is their current age raised to the 0.43 power?"
)
> Entering new AgentExecutor chain... Action: { "action": "Search", "action_input": "current prime minister of the UK" } > Finished chain. > Entering new AgentExecutor chain... Action: ``` { "action": "Search", "action_input": "current prime minister of the UK" } ``` Observation: Bottom right: Rishi Sunak is the current prime minister and the first non-white prime minister. The prime minister of the United Kingdom is the principal minister of the crown of His Majesty's Government, and the head of the British Cabinet. 3 min. British Prime Minister Rishi Sunak asserted his stance on gender identity in a speech Wednesday, stating it was "common sense" that "a man is a man and a woman is a woman" — a ... The former chancellor Rishi Sunak is the UK's new prime minister. Here's what you need to know about him. He won after running for the second time this year He lost to Liz Truss in September,... Isaeli Prime Minister Benjamin Netanyahu spoke with US President Joe Biden on Wednesday, the prime minister's office said in a statement. Netanyahu "thanked the President for the powerful words of ... By Yasmeen Serhan/London Updated: October 25, 2022 12:56 PM EDT | Originally published: October 24, 2022 9:17 AM EDT S top me if you've heard this one before: After a tumultuous period of political... Thought:The search results indicate that Rishi Sunak is the current prime minister of the UK. However, it's important to note that this information may not be accurate or up to date. > Finished chain. > Entering new AgentExecutor chain... Action: ``` { "action": "Search", "action_input": "current age of the prime minister of the UK" } ``` Observation: How old is Rishi Sunak? Mr Sunak was born on 12 May, 1980, making him 42 years old. He first became an MP in 2015, aged 34, and has served the constituency of Richmond in Yorkshire ever since. He... Prime Ministers' ages when they took office From oldest to youngest, the ages of the PMs were as follows: Winston Churchill - 65 years old James Callaghan - 64 years old Clement Attlee - 62 years... Anna Kaufman USA TODAY Just a few days after Liz Truss resigned as prime minister, the UK has a new prime minister. Truss, who lasted a mere 45 days in office, will be replaced by Rishi... Advertisement Rishi Sunak is the youngest British prime minister of modern times. Mr. Sunak is 42 and started out in Parliament in 2015. Rishi Sunak was appointed as chancellor of the Exchequer... The first prime minister of the current United Kingdom of Great Britain and Northern Ireland upon its effective creation in 1922 (when 26 Irish counties seceded and created the Irish Free State) was Bonar Law, [10] although the country was not renamed officially until 1927, when Stanley Baldwin was the serving prime minister. [11] Thought:Based on the search results, it seems that Rishi Sunak is the current prime minister of the UK. However, I couldn't find any specific information about his age. Would you like me to search again for the current age of the prime minister? Action: ``` { "action": "Search", "action_input": "age of Rishi Sunak" } ``` Observation: Rishi Sunak is 42 years old, making him the youngest person to hold the office of prime minister in modern times. How tall is Rishi Sunak? How Old Is Rishi Sunak? Rishi Sunak was born on May 12, 1980, in Southampton, England. Parents and Nationality Sunak's parents were born to Indian-origin families in East Africa before... Born on May 12, 1980, Rishi is currently 42 years old. He has been a member of parliament since 2015 where he was an MP for Richmond and has served in roles including Chief Secretary to the Treasury and the Chancellor of Exchequer while Boris Johnson was PM. Family Murty, 42, is the daughter of the Indian billionaire NR Narayana Murthy, often described as the Bill Gates of India, who founded the software company Infosys. According to reports, his... Sunak became the first non-White person to lead the country and, at age 42, the youngest to take on the role in more than a century. Like most politicians, Sunak is revered by some and... Thought:Based on the search results, Rishi Sunak is currently 42 years old. He was born on May 12, 1980. > Finished chain. > Entering new AgentExecutor chain... Thought: To calculate the age raised to the power of 0.43, I can use the calculator tool. Action: ```json { "action": "Calculator", "action_input": "42^0.43" } ``` > Entering new LLMMathChain chain... 42^0.43```text 42**0.43 ``` ...numexpr.evaluate("42**0.43")... Answer: 4.9888126515157 > Finished chain. Observation: Answer: 4.9888126515157 Thought:The age raised to the power of 0.43 is approximately 4.9888126515157. Final Answer: ```json { "action": "Final Answer", "action_input": "The age raised to the power of 0.43 is approximately 4.9888126515157." } ``` > Finished chain. > Entering new AgentExecutor chain... Action: ``` { "action": "Final Answer", "action_input": "The current prime minister of the UK is Rishi Sunak. His age raised to the power of 0.43 is approximately 4.9888126515157." } ``` > Finished chain.
'The current prime minister of the UK is Rishi Sunak. His age raised to the power of 0.43 is approximately 4.9888126515157.'