当前位置: 首页 > news >正文

AI知识梳理——RAG、Agent、ReAct、LangChain、LangGraph、MCP、Function Calling、JSON-RPC

AI技术I
AI技术II

RAG


📌 高度凝练表达

RAG (检索增强生成)是一种结合信息检索与生成式人工智能的技术框架,旨在提升大型语言模型(LLM)的输出准确性和实用性。通过在生成响应前引入外部知识库的信息,RAG 使得模型能够访问训练数据之外的最新或特定领域的知识,无需重新训练模型,从而在各种情境下保持相关性和准确性。

RAG (检索增强生成),生成响应前引入外部知识库的信息,使得模型能够访问训练数据之外的最新或特定领域的知识,从而保证输出的准确性和实用性,减小虚幻。
RAG开卷考试(外部知识库),LLM闭卷(已经训练好的数据)


🔁 RAG 的主要流程

RAG 的工作流程通常包括以下三个关键阶段:

  1. 数据准备阶段:从各种数据源(如 PDF、数据库、网页等)提取信息,并将其转换为纯文本格式。然后将长文本划分为较小的片段,以便于处理和检索。接着,使用嵌入模型(如 BERT、OpenAI Embedding 等)将文本片段转换为向量表示,并将其存储在向量数据库中,如 FAISS、Milvus、Qdrant 等。

数据准备:各类数据源->纯文本格式->较小片段->文本转向量->存储至向量数据库

  1. 检索与增强阶段:当用户提交查询时,RAG 系统将查询转换为向量表示,并在向量数据库中查找与查询向量最相似的文本片段。然后,将检索到的相关文本片段与用户查询结合,构建增强的提示(Prompt),为生成模型提供丰富的上下文信息。(NVIDIA 开发者)

检索与增强阶段:查询转化为向量->数据库中查找->相关文本与用户查询相结合->构建增强的提示

  1. 生成阶段:将增强的提示输入到大型语言模型中生成最终的回答或内容。必要时,对生成的内容进行语法和语义上的优化,以提高可读性和准确性。

生成阶段:增强提示输入到大模型->生成最终的回答获内容


📊 RAG 流程图(Mermaid 格式)

以下是 RAG 的主要流程图,采用 Mermaid 语法表示:

用户查询
查询向量化
向量数据库检索
检索到的相关文档
构建增强提示
大型语言模型生成响应
输出最终答案

RAG 技术广泛应用于智能问答系统企业知识管理、法律和医疗文档分析等领域,特别适用于需要高准确性和实时更新的场景。

Agenet

Agent

是什么

在这里插入图片描述

  • LLM:负责理解输入、推理并生成输出
  • 记忆:存储和管理对话历史,实现上下文感知的交互
  • 提示模板(Prompt Template):构建输入提示,引导 LLM 进行特定任务(也可理解为规划根据提示动态规划路径
  • 工具外部功能模块,如搜索引擎、API 接口、数据库查询等,Agent 可根据需要调用
  • 执行器(Agent Executor):协调各组件的运行,管理整个任务的执行流程
🔁Agent架构流程图
  • 接收输入:用户提交查询或命令。

  • 生成提示:使用提示模板构建输入,引导 LLM 进行处理。

  • 记忆知识库调用、匹配与检索🔍

  • 推理决策:LLM 分析任务需求,决定是否需要调用外部工具。

  • 执行操作:根据决策,调用相应的工具执行任务。

  • 处理结果:LLM 处理工具返回的结果,判断是否完成任务,或需进一步操作。

  • 返回输出:生成最终响应,返回给用户。

在这里插入图片描述
在这里插入图片描述

基于COZE平台搭建Agent示例

在这里插入图片描述
在这里插入图片描述

ReAct (推理+行动)
为什么要ReAct

LLM推理能力(例如,思路链提示)和行动能力(例如,行动计划生成)主要被作为独立的主题进行研究。在本文中,我们探索如何使用 LLM 以交错的方式生成推理轨迹和特定于任务的操作,从而实现两者之间的更大协同作用推理轨迹帮助模型归纳、跟踪和更新行动计划以及处理异常;而操作则允许模型与外部来源(例如,知识库或环境)交互,以收集更多信息。这种交替进行思考与行动流程,使模型在处理多步推理或需要外部信息的任务时,表现得更加灵活和高效。
在这里插入图片描述

🔁 ReAct 是什么

ReAct(Reasoning + Acting)是一种结合了“推理”和“行动”的智能代理机制。它使大型语言模型(LLM)在处理复杂任务时,能够像人类一样,先进行思考,再采取行动,从而提高响应的准确性和可靠性
在这里插入图片描述

🔁 ReAct 的工作流程

ReAct 代理通过以下循环步骤实现智能决策:

  • Thought(思考):模型分析当前问题,形成推理路径。

  • Action(行动):根据推理结果,选择并调用外部工具(如搜索引擎、计算器等)。

  • Observation(观察):获取工具返回的结果,作为新的信息输入。

  • 循环迭代:重复上述步骤,直到得出最终答案。

在这里插入图片描述

在这里插入图片描述

✅ 使用 ReAct 的优势
  • 增强推理能力:通过显式的思考步骤,提高模型的逻辑推理能力。

  • 动态工具调用:根据任务需求,灵活选择并调用合适的外部工具。

  • 减少幻觉现象:通过实际的工具反馈,降低模型生成虚假信息的风险。

  • 提升可解释性:每一步的思考和行动都有迹可循,便于调试和优化。

Langchain

是什么

LangChain 是一个开源框架,旨在简化基于大型语言模型(LLM)的应用程序的开发。
在这里插入图片描述
在这里插入图片描述

核心组件
  • 模型(Model):封装对 LLM 的调用,支持多种模型如 OpenAI、Anthropic、Hugging Face 等。

  • 提示模板(Prompt Templates):用于构建和管理发送给 LLM 的输入提示,支持动态变量插值。

  • 链(Chains):将多个组件组合成一个处理流程,实现复杂任务的自动化。

  • 代理(Agents):具备决策能力的组件,能够根据任务动态选择链或工具执行

  • 记忆(Memory):用于存储和管理对话历史,实现上下文感知的交互。

  • 工具(Tools)集成外部 API 或功能模块,如搜索引擎、计算器等,扩展 LLM 的能力。
    在这里插入图片描述

🏗️ 核心架构

核心架构
LangChain 的架构设计强调模块化和可扩展性,主要包括:

  • 组件层(Components):提供与 LLM 交互的基本构建块,如模型、提示模板等。

  • 链层(Chains):将多个组件按特定逻辑组合,形成处理流程

  • 代理层(Agents):在链的基础上增加决策逻辑,根据任务动态选择执行路径

  • 集成层(Integrations):支持与外部数据源、工具和服务的集成,增强应用功能

在这里插入图片描述
在这里插入图片描述

架构流程图

在这里插入图片描述

LangGraph

LangGraph 是 LangChain 生态系统中的一个扩展库,旨在通过图结构(Graph)来构建复杂的、有状态的多角色 LLM 应用,适用于以下场景:

  • 多轮对话代理和聊天机器人:处理复杂的对话流程,支持上下文管理和多轮交互。
  • 多智能体协作系统:协调多个智能体共同完成任务,如信息检索、数据处理等。
  • 任务规划和执行:实现任务的计划、执行、结果反馈和计划更新的完整流程。
  • 复杂工作流管理:构建包含条件分支、循环和并行处理的复杂工作流程。
  • 实时数据处理和分析:处理实时数据流,进行动态决策和响应。

LangGraph 通过状态图(StateGraph)和消息传递机制,实现了灵活的流程控制和状态管理,适合构建复杂的 AI 应用。
在这里插入图片描述

MCP

在前端开发面试中,向面试官简洁地介绍 MCP(Model Context Protocol,模型上下文协议)可以采用以下方式:


📌 什么是 MCP 协议?

MCP 是由 Anthropic 于 2024 年提出的一项开放标准,旨在为大型语言模型(LLM)提供一种标准化的方式以连接和交互外部数据源、工具和服务。它被誉为 AI 系统的“USB-C 接口”,使得不同的 AI 模型能够以统一的方式访问各种外部资源,从而增强其功能和应用范围。


🧩 MCP 架构的核心组件

MCP 的架构基于客户端-服务器模型,主要包含以下核心组件:

  • MCP 主机(Host):运行 LLM 的应用程序,如聊天机器人、IDE 等。
  • MCP 客户端(Client):嵌入在主机中的连接器,负责与 MCP 服务器通信。
  • MCP 服务器(Server):提供具体功能的服务端,暴露资源、提示模板和工具等能力。
  • 本地数据源:如文件系统、数据库等,MCP 服务器可以访问这些资源以提供上下文信息。
    在这里插入图片描述

这种模块化架构使得 AI 应用可以灵活地与多种外部资源集成,提升了系统的可扩展性和维护性。


🔄 MCP 协议支持的两种模式

MCP 协议支持以下两种通信模式:(维基百科)

  1. 请求-响应模式:类似传统的函数调用,LLM 发起请求,MCP 服务器返回结果。
  2. 持续会话模式:建立持久连接,允许 LLM 与 MCP 服务器之间进行多轮交互,适用于需要实时更新和复杂交互的场景。

这两种模式使得 MCP 能够适应不同复杂度的应用需求,从简单的数据查询到复杂的任务执行。
在这里插入图片描述


🔍 MCP 与 Function Calling 的区别

Function Calling的出现解决了模型无法与外部工具交互的问题,但各家的接口不统一,导致生态碎片化。MCP协议作为标准化协议,实现了即插即用,解决了生态壁垒的问题

特性MCP 协议Function Calling
通信模式支持持续会话,适合复杂交互单次请求-响应,适合简单调用
集成复杂度一次集成,多处复用,降低维护成本每个功能需单独集成,维护成本高
上下文管理支持上下文信息的持续传递和更新每次调用需重新提供上下文信息
适用场景多工具协同、实时数据访问、复杂任务执行简单的数据查询或单一功能调用(维基百科)

因此,在需要多轮交互、实时数据更新或多工具协同的复杂应用中,MCP 提供了更强的灵活性和扩展性。 (Medium)


⚙️ MCP 的工作流程

MCP 的典型工作流程如下:

  1. 初始化连接:LLM 通过 MCP 客户端与 MCP 服务器建立连接,进行能力协商。
  2. 能力发现:LLM 查询 MCP 服务器可用的资源、工具和提示模板
  3. 请求执行:LLM 发起请求,调用 MCP 服务器提供的功能。
  4. 结果返回:MCP 服务器处理请求,返回结果给 LLM。
  5. 上下文更新:LLM 根据返回结果更新上下文信息,准备下一步操作。(维基百科)

这种流程支持多轮交互和上下文的持续更新,适用于需要复杂逻辑和实时反馈的应用场景。 (维基百科)


JSON-RPC协议

JSON-RPC 2.0 作为其通信协议的基础,它使得 MCP 能够在大型语言模型(LLM)与外部工具或服务之间实现标准化、结构化的交互
在这里插入图片描述

相关文章:

  • 【滑动窗口】LeetCode 209题解 | 长度最小的子数组
  • 系统架构设计(七):数据流图
  • 使用Docker部署Nacos
  • 【C++详解】string各种接口如何使用保姆级攻略
  • 区块链可投会议CCF C--IPCCC 2025 截止6.7 附录用率
  • 共享内存【Linux操作系统】
  • 【爬虫】DrissionPage-6
  • JavaScript【6】事件
  • 进阶-数据结构部分:​​​​​​​2、常用排序算法
  • 动态规划(3)学习方法论:构建思维模型
  • MATLAB2025新功能
  • 2025/517学习
  • STM32 | FreeRTOS 消息队列
  • Flink 数据传输机制
  • 6.1.1图的基本概念
  • DeepSeek快速指南:提升效率,告别内耗
  • 深入理解 requestIdleCallback:浏览器空闲时段的性能优化利器
  • OpenCV级联分类器
  • webpack 学习
  • Git 项目切换到新的远程仓库地址
  • 一旅客因上错车阻挡车门关闭 ,株洲西高铁站发布通报
  • 上海比常年平均时间提前12天入夏,明天最高气温可达33℃
  • 国家统计局公布2024年城镇单位就业人员年平均工资情况
  • 舱位已排到月底,跨境电商忙补货!美线订单大增面临爆舱,6月运价或翻倍
  • 郑钦文憾负高芙,止步WTA1000罗马站四强
  • 龚正会见哥伦比亚总统佩特罗