【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 中文文档

相关推荐
Francek Chen13 分钟前
【DeepSeek】在本地计算机上部署DeepSeek-R1大模型实战(完整版)
人工智能·深度学习·语言模型·ai编程·deepseek
coderlin_17 分钟前
前端到AI,LangChain.Js(二)
前端·人工智能·langchain
2401_8976056539 分钟前
星动纪元ERA-42:端到端原生机器人大模型的里程碑式突破
前端·人工智能·机器人
金融OG1 小时前
100.13 AI量化面试题:支持向量机(SVM)如何处理高维和复杂数据集?
人工智能·python·算法·机器学习·支持向量机·数学建模·金融
FF-Studio1 小时前
读 DeepSeek-R1 论文笔记
论文阅读·人工智能·深度学习·机器学习·语言模型·自然语言处理·deepseek
羑悻的小杀马特1 小时前
蓝耘智算平台硬核部署 DeepSeek, 解锁 AI 内在的无限潜能
人工智能·ai大模型·deepseek
AuGuSt_811 小时前
N-Beats:一种用于时间序列预测的纯前馈神经网络模型
人工智能·深度学习·神经网络
不能只会打代码1 小时前
Python人工智能技术全景:从基础框架到DeepSeek的突破性创新
开发语言·人工智能·python·deepseek
通义灵码2 小时前
通义灵码 2.0 全新升级,阿里云正式推出繁星计划
人工智能·阿里云·云计算
AI+程序员在路上2 小时前
DeepSeek本地部署_桌面版AnythingLLM本地知识库搭建
人工智能