【AI大模型系列】AI Agent与LangChain框架介绍(七)

目录

[一、什么是AI Agent](#一、什么是AI Agent)

二、什么是LangChain

三、LangChain的重要模块

[3.1 Model I/O(模块输入输出)](#3.1 Model I/O(模块输入输出))

[3.2 Retrieval(检索)](#3.2 Retrieval(检索))

[3.3 Chains(链式调用)](#3.3 Chains(链式调用))

[3.4 Agents](#3.4 Agents)

[3.5 Memory(记忆)](#3.5 Memory(记忆))

[3.6 Callbacks(回调函数)](#3.6 Callbacks(回调函数))

四、参考资料


一、什么是AI Agent

AI Agent 就是以大语言模型为核心控制器的一套代理系统。如果把人脑类比为大模型,那么眼睛、耳朵、鼻子就是这个系统中用来感知外部输入的系统,手、脚是用来执行大脑加工后输出的系统。他们组合起来就是一个能够感知外部变化、分析、决策、执行的系统,整个这套系统就是一个AI Agent。

二、什么是LangChain

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。

  • LangChain 库:Python 和 JavaScript 库。包含了各种组件的接口和集成,一个基本的运行时,用于将这些组件组合成链和代理,以及现成的链和代理的实现。
  • LangChain 模板:一系列易于部署的参考架构,用于各种任务。(类似于SpringCloud)
  • LangServe:一个用于将 LangChain 链部署为 REST API 的库。(类似于API网关)
  • LangSmith:一个开发者平台,让你可以调试、测试、评估和监控基于任何 LLM 框架构建的链,并且与 LangChain 无缝集成。(类似于Jenkins + Docker + K8s + Prometheus)

这些产品一起简化了整个应用程序的生命周期:

  • 开发:在 LangChain/LangChain.js 中编写你的应用程序。使用模板作为参考,快速开始。
  • 生产化:使用 LangSmith 来检查、测试和监控你的链,这样你可以不断改进并有信心地部署。
  • 部署:使用 LangServe 将任何链转换为 API。

三、LangChain的重要模块

3.1 Model I/O(模块输入输出)

模型 I/O 模块主要由三部分组成:格式化(Format)、预测(Predict)、解析(Parse)

格式化:无论是来自网络、向量数据库的数据,都必须先经过格式化,生成大模型可理解的格式。

预测:主要是完成对大模型的调用

解析:主要是对大模型返回内容的解析。

3.2 Retrieval(检索)

  • 文档加载器:从许多不同来源加载文档,目前LangChain提供了100多种不同的文档加载器,包括HTML、PDF、代码的集成。
  • 文档转换器 :检索的一个关键部分是仅获取文档的相关部分。为了最好地准备文档以进行检索,这涉及几个转换步骤,其中一个主要步骤是将大型文档分割(或分块)为较小的块。
  • 文本嵌入模型:检索的另一个关键部分是为文档创建嵌入,用以捕捉文本的语义含义,目标是能够快速高效地查找其他相似的文本。
  • 向量存储:用于与不同的向量存储进行集成。
  • 检索器:LangChain支持从数据库通过不同的检索算法进行检索数据。

3.3 Chains(链式调用)

链允许将多个组件组合在一起创建一个单一的、连贯的应用。例如,我们可以创建一个链,该链接收用户输入,使用PromptTemplate对其进行格式化,然后将格式化后的响应传递给LLM。我们可以通过将多个链组合在一起或将链与其他组件组合来构建更复杂的链。

3.4 Agents

代理的核心思想是使用LLM来选择要采取的一系列动作。 在链式结构中,一系列动作是硬编码的(在代码中)。 在代理中,使用语言模型作为推理引擎来确定要采取的动作及其顺序。其中包括几个关键组件:

  • 代理:这是负责决定下一步采取什么动作的类。
  • 工具:工具是代理调用的函数。
  • 工具包:代理可以访问的工具集合通常比单个工具更重要。
  • 代理执行器:代理执行器是代理的运行时,这是实际调用代理并执行其选择的动作的部分。

3.5 Memory(记忆)

默认情况下,链式模型和代理模型都是无状态的,这意味着它们将每个传入的查询独立处理(就像底层的 LLMs 和聊天模型本身一样)。在某些应用程序中,比如聊天机器人,记住先前的交互是至关重要的。无论是短期还是长期,都要记住先前的交互。Memory 类正是做到了这一点。 LangChain 提供了两种形式的记忆组件。首先,LangChain 提供了用于管理和操作以前的聊天消息的辅助工具。其次,LangChain 提供了将这些工具轻松整合到链式模型中的方法。

3.6 Callbacks(回调函数)

LangChain提供了一个回调函数系统,允许您在LLM应用程序的各个阶段进行钩子操作。这对于日志记录、监控、流式传输和其他任务非常有用。

四、参考资料

LangChain 中文文档

相关推荐
电子基础知识2 小时前
NanoEdge AI Studio入门
人工智能·硬件工程
LeeZhao@2 小时前
【项目】多模态图文理解-GLM-Edge实战
人工智能·yolo·计算机视觉·语言模型·aigc
橙狮科技5 小时前
提示词工程教程:提示词安全
人工智能·安全·自然语言处理
cxr8286 小时前
五类推理(逻辑推理、概率推理、图推理、基于深度学习的推理)的开源库 (二)
人工智能·深度学习
魔理沙偷走了BUG6 小时前
【AI数学基础】线性代数:内积和范数
人工智能·线性代数·机器学习
salsm6 小时前
使用 C++ 和函数式编程构建高效的 AI 模型
c++·人工智能
qq_273900237 小时前
pytorch torch.scatter_reduce函数介绍
人工智能·pytorch·python
MediaTea7 小时前
Ae 效果详解:放大
图像处理·人工智能·深度学习·计算机视觉
小码贾7 小时前
OpenCV-Python实战(15)——像素直方图均衡画
人工智能·python·opencv
网易智企8 小时前
游戏社交趋势下,游戏语音再升级!
人工智能·游戏·音视频·语音识别·实时音视频·信息与通信·通信