开启左侧

Langchain极简教程: 八、代理 (Agent)

[复制链接]
zoopk0079 发表于 8 小时前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:CSDN博客
系列文章

Langchain极简教程: 一、Hello Langchain
Langchain极简教程: 二、模型
Langchain极简教程: 三、数据连接
Langchain极简教程: 四、提示词
Langchain极简教程: 五、输出解析器
Langchain极简教程: 六、链
Langchain极简教程: 七、记忆组件
Langchain极简教程: 八、代理 (Agent)
Langchain极简教程: 九、一个完整的RAG案例
简介

Agent 也就是代理,它的核心思想是利用一个语言模型来选择一系列要执行的动作。LangChain 的链将一系列的动作硬编码在代码中。而在 Agent 中,语言模型被用作推理引擎,来确定应该执行哪些动作以及以何种顺序执行。
这就涉及到几个关键组件:
    Agent 代理Tool 工具Toolkit 工具包AgentExecutor 代理执行器
接下来我们做逐一介绍。注,该极简入门系列将略过工具包的介绍,这部分内容将包含在进阶系列中。
Agent

Agent 由一个语言模型和一个提示词驱动,决定下一步要采取什么措施的类。提示词可以包括以下内容:
    代理的个性(用于使其以特定方式回应)代理的背景(用于为其提供更多关于所要执行任务类型的上下文信息)引导策略(用于激发更好的推理能力)
LangChain 提供了不同类型的代理:
    Zero-shot ReAct
    利用 ReAct 框架根据工具的描述来决定使用哪个工具,可以使用多个工具,但需要为每个工具提供描述信息。工具的选择单纯依靠工具的描述信息。关于 ReAct 框架的更多信息,请参考 ReAct。
    Structured Input ReAct
    相较于单一字符串作为输入的代理,该类型的代理可以通过工具的参数schema创建结构化的动作输入。
    OpenAI Functions
    该类型的代理用来与OpenAI Function Call机制配合工作。
    Conversational
    这类代理专为对话场景设计,使用具有对话性的提示词,利用 ReAct 框架选择工具,并利用记忆功能来保存对话历史。
    Self ask with search
    这类代理利用工具查找问题的事实性答案。
    ReAct document store
    利用 ReAct 框架与文档存储进行交互,使用时需要提供 Search 工具和 Lookup 工具,分别用于搜索文档和在最近找到的文档中查找术语。
    Plan-and-execute agents
    代理规划要做的事情,然后执行子任务来达到目标。
这里我们多次提到 “工具”,也就是 Tool,接下来我们就介绍什么是 Tool。
Tool

Tool 工具,是代理调用的功能,通常用来与外部世界交互,比如维基百科搜索,资料库访问等。LangChain 内置的工具列表,请参考 Tools。
Toolkit

通常,在达成特定目标时,需要使用一组工具。LangChain 提供了 Toolkit 工具包的概念,将多个工具组合在一起。
AgentExecutor

代理执行器是代理的运行时。程序运行中,由它来调用代理并执行其选择的动作。
组件实例

Tool

LangChain 提供了一系列工具,比如 Search 工具,AWS 工具,Wikipedia 工具等。这些工具都是 BaseTool 的子类。通过调用 run 函数,执行工具的功能。
我们以 LangChain 内置的工具 DuckDuckGoSearchRun 为例,来看看如何使用工具。
注,要使用DuckDuckGoSearchRun工具,需要安装以下python包:
  1. pip install duckduckgo-search
复制代码
    通过工具类创建工具实例
    该类提供了通过

原文地址:https://blog.csdn.net/CherryBean/article/details/144528607
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )