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

相关推荐
lzhdim40 分钟前
AI的分类
人工智能·算法·机器学习·分类·数据挖掘
程序员海军2 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
AIsoft_86893 小时前
人才评估中的关键信息如何沉淀?
人工智能·iphone
紧跟先前的步伐3 小时前
Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验
人工智能·ai·golang
vibecoding774 小时前
Codex 分层用模型完整教程:让 GPT-6.1 Sol 拍板、GPT-6 Luna 跑侦察
人工智能·gpt
新知图书4 小时前
1.3 启动第一个机器人
人工智能·机器人
明志数科5 小时前
自主探索范式下机器人示教数据的工程定位:少量示范为何对质量更敏感
人工智能·机器学习·机器人
Maynor9965 小时前
WorkBuddy 一键接通 gpt-6.1-sol:MomoAI / TryAllAPI 把最新模型接到桌面
人工智能·gpt·ai·大模型·编程工具
火山引擎开发者社区5 小时前
问得出、搜得准、信得过:ContextSearch 重构销售检索体验
人工智能
Raymond16885 小时前
AI配音工具长文本合成架构技术解析:全局音色锚定与声学状态跟踪
人工智能·架构·实时互动·视觉检测·音视频·语音识别