Langchain的Agents介绍


❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️
👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈


博主原文链接:https://www.yourmetaverse.cn/nlp/514/


(封面图由文心一格生成)

Langchain的Agents介绍

一、核心概念:

Langchain的Agents核心理念是使用语言模型来选择一系列的动作。与硬编码的动作链不同,Agents利用语言模型作为推理引擎,确定采取哪些动作以及顺序。

二、主要组成部分:

  1. Agent: 负责决定下一步采取的动作,由语言模型和提示驱动。输入包括:可用工具的描述、用户高层目标和为达到用户目标而执行的任何动作和工具输出对。
  2. Tools: Agents可以调用的函数。关键在于提供适当的工具并以对Agent有帮助的方式描述这些工具。LangChain提供了一系列内置工具,并简化了自定义工具的定义。
  3. Toolkits: 针对常见任务,Agent可能需要一组相关工具。LangChain提供了诸如GitHub toolkit之类的工具集,以实现特定目标。
  4. AgentExecutor: Agent的运行时,负责调用Agent,执行它选择的动作,并将动作输出反馈给Agent。此过程涵盖处理Agent选择不存在的工具、工具错误以及无法解析为工具调用的输出等复杂情况。

三、构建Agent:

  1. 使用LangChain表达式语言(LCEL)从头开始构建Agent,定义自定义工具,并在自定义循环中运行Agent和工具。
  2. 设置LangSmith,以便在构建时自动跟踪内置或自定义Agent的所有步骤和工具输入输出。
  3. 定义Agent:例如,使用OpenAI Function Calling创建能够计算单词长度的自定义工具。这是创建Agent的可靠方式。
  4. 使用Agent:通过传递简单的问题和空白的中间步骤,来测试Agent的反应。
  5. 使用AgentExecutor类简化过程,它整合了错误处理、提前停止、跟踪等质量提升措施。
  6. 添加记忆:为了使Agent能够记住之前的交互并轻松处理后续问题,需要向Agent中添加记忆功能。

以上是Langchain的Agents模块的概览,涵盖了其核心概念、组成部分、以及如何构建和使用Agent。这些功能为开发者提供了强大且灵活的工具,以实现更复杂的自动化任务和流程。

四、Agent类型介绍:

Langchain提供多种类型的Agents,每种都有其独特的应用和特点:

  1. Zero-shot ReAct: 使用ReAct框架根据工具的描述来决定使用哪个工具。需要为每个工具提供描述。这是最通用的动作代理。

  2. Structured input ReAct: 能够使用多输入工具的代理。与旧代理不同,它可以使用工具的参数模式创建结构化的动作输入。这对于复杂工具的使用(如精确导航浏览器)非常有用。

  3. OpenAI Functions: 专为与特定OpenAI模型(如gpt-3.5-turbo-0613和gpt-4-0613)协作而设计。这些模型已被明确地微调,以便在需要调用函数时检测并响应应传递给函数的输入。

  4. Conversational: 用于对话设置的代理。其提示旨在使代理有助于对话。它使用ReAct框架来决定使用哪个工具,并使用记忆功能来记住之前的对话互动。

  5. Self-ask with search: 使用名为Intermediate Answer的单一工具来查找问题的事实答案。这种代理类似于原始的自问自答搜索论文,其中提供了Google搜索API作为工具。

  6. ReAct document store: 使用ReAct框架与文档存储进行互动。必须提供两种工具:SearchLookupSearch工具用于搜索文档,而Lookup工具用于在最近找到的文档中查找术语。此代理与原始ReAct论文中的Wikipedia示例相当。

这些Agents类型展示了Langchain在实现复杂自动化任务和流程方面的灵活性和强大功能。


❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️
👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈


相关推荐
背太阳的牧羊人19 小时前
RAG检索中使用一个 长上下文重排序器(Long Context Reorder) 对检索到的文档进行进一步的处理和排序,优化输出顺序
开发语言·人工智能·python·langchain·rag
Java知识技术分享19 小时前
使用LangChain构建第一个ReAct Agent
python·react.js·ai·语言模型·langchain
圆内~搁浅2 天前
langchain本地知识库问答机器人集成本地知识库
数据库·langchain·机器人
Neo很努力3 天前
【deepseek】本地部署+RAG知识库挂载+对话测试
自然语言处理·chatgpt·langchain·aigc·llama
merlin-mm3 天前
langchain应用-agent
langchain
朴拙数科4 天前
Langchain vs. LlamaIndex:哪个在集成MongoDB并分析资产负债表时效果更好?
数据库·mongodb·langchain
静静的喝酒7 天前
langchain学习笔记之消息存储在内存中的实现方法
langchain·消息存储·内存存储
Rickie7 天前
DeepSeek-V3 解读:优化效率与规模
langchain·rag·deepseek
少林码僧7 天前
1.5 企业级AI大模型四阶技术全景解析:从Prompt到Pre-training的进化路径
人工智能·gpt·chatgpt·langchain·prompt
Clang's Blog9 天前
使用 LangChain 对接硅基流动(SiliconFlow)API:构建一个智能对话系统
langchain