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)与外部工具或服务之间实现标准化、结构化的交互

相关推荐
落樱弥城9 分钟前
角点特征:从传统算法到深度学习算法演进
人工智能·深度学习·算法
StarRocks_labs20 分钟前
StarRocks MCP Server 开源发布:为 AI 应用提供强大分析中枢
数据库·starrocks·人工智能·开源·olap·mcp
珂朵莉MM1 小时前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
ㄣ知冷煖★1 小时前
【论文阅读】A Survey on Multimodal Large Language Models
人工智能·语言模型·自然语言处理
视觉语言导航2 小时前
兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
人工智能·无人机·具身智能
墨绿色的摆渡人2 小时前
pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
人工智能·pytorch·python
moonsims2 小时前
低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端&地面端
人工智能·安全
若叶时代2 小时前
数据分析_Python
人工智能·python·数据分析
虾球xz2 小时前
游戏引擎学习第286天:开始解耦实体行为
c++·人工智能·学习·游戏引擎
武子康2 小时前
大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
人工智能·gpt·ai·语言模型·自然语言处理