dw和sql做网站,沧州建设厅官方网站,网站建设 招标书,专业网站建设包括哪些自定义多动作代理
概述
这个笔记本介绍了如何创建您自己的自定义代理。
代理由两部分组成#xff1a;
工具#xff08;Tools#xff09;#xff1a;代理可以使用的工具。代理类本身#xff1a;决定采取哪个动作。
在这个笔记本中#xff0c;我们将通过创建一个自定义…自定义多动作代理
概述
这个笔记本介绍了如何创建您自己的自定义代理。
代理由两部分组成
工具Tools代理可以使用的工具。代理类本身决定采取哪个动作。
在这个笔记本中我们将通过创建一个自定义代理来演示如何预测/一次性执行多个步骤。
Python 代码及注释
from langchain.agents import AgentExecutor, BaseMultiActionAgent, Tool
from langchain_community.utilities import SerpAPIWrapper# 定义一个返回随机单词的函数
def random_word(query: str) - str:print(\nNow Im doing this!) # 打印一条消息表示正在执行操作return foo # 返回一个随机单词这里固定返回foo# 初始化一个SerpAPIWrapper对象用于执行搜索操作
search SerpAPIWrapper()# 定义代理可以使用的工具列表
tools [Tool(nameSearch, # 工具名称为Searchfuncsearch.run, # 工具的功能函数是search.rundescriptionuseful for when you need to answer questions about current events, # 工具描述),Tool(nameRandomWord, # 工具名称为RandomWordfuncrandom_word, # 工具的功能函数是random_worddescriptioncall this to get a random word., # 工具描述),
]# 从langchain_core库导入所需的类
from typing import Any, List, Tuple, Union
from langchain_core.agents import AgentAction, AgentFinish# 定义一个自定义的代理类继承自BaseMultiActionAgent
class FakeAgent(BaseMultiActionAgent):Fake Custom Agent. # 类的描述# 创建自定义代理的实例
agent FakeAgent()# 从AgentExecutor类创建一个执行器传入代理实例和工具列表并设置verbose为True以显示详细输出
agent_executor AgentExecutor.from_agent_and_tools(agentagent, toolstools, verboseTrue
)# 使用执行器运行一个查询例如查询2023年加拿大的人口数量
agent_executor.run(How many people live in canada as of 2023?)总结
本文介绍了如何创建一个自定义的多动作代理包括定义工具和代理类。通过示例代码我们展示了如何使用AgentExecutor来执行代理操作并运行一个简单的查询。代码中包含了对每个部分的详细注释以便更好地理解每个步骤的功能和目的。自定义代理可以扩展和适应各种不同的应用场景通过组合不同的工具来实现复杂的任务。