【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 分钟前
(Matlab)自动驾驶仿真 设计驾驶场景、配置传感器并生成合成 数据
人工智能·算法·机器学习·自动驾驶·测试用例
L_cl14 分钟前
【NLP 61、大模型应用 —— RAG方法】
人工智能·自然语言处理
乌旭16 分钟前
GPU虚拟化技术在深度学习集群中的应用实践
数据结构·人工智能·深度学习·机器学习·ai·架构·gpu算力
lisw0525 分钟前
2025年推荐使用的开源大语言模型top20:核心特性、选择指标和开源优势
人工智能·语言模型·开源
敖云岚30 分钟前
【AI】SpringAI 第二弹:接入 DeepSeek 官方服务
java·人工智能·spring boot·后端·spring
yintele36 分钟前
天线静电防护:NRESDTLC5V0D8B
人工智能·汽车·能源·门控循环单元
火山引擎边缘云1 小时前
2025 全球分布式云大会演讲实录 | 沈建发:智启边缘,畅想未来:边缘计算新场景落地与 Al 趋势新畅想
人工智能·llm·边缘计算
AIGC-Lison1 小时前
AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!
人工智能·ai作画·stable diffusion·midjourney·sd
Java中文社群1 小时前
超实用!用FunctionCall实现快递AI助手
java·人工智能·后端
张焚雪1 小时前
关于ResNet和FPN的一份介绍
人工智能·深度学习·神经网络·机器学习·cnn