精|探秘 Agentic RAG 系统7种设计模式:解锁 AI 智能体检索的无限潜力

2025年对我来说,2024年不仅是使用大语言模型(LLMs)进行内容生成的一年,更是深入了解其内部运作机制的一年。在探索大语言模型、检索增强生成(RAG)等技术的过程中,我们发现了AI智能体的巨大潜力。AI智能体是一种自主系统,能够在极少人工干预的情况下执行任务并做出决策。回顾2023年,检索增强生成(RAG)备受关注,而到了2024年,智能体RAG工作流程取得了进一步发展,推动了各个行业的创新。展望2025年,这将是 “AI智能体之年”,自主系统将彻底改变生产力,重塑各个行业,借助智能体RAG系统开启前所未有的可能性。

这些由能够进行复杂决策和任务执行的自主AI智能体驱动的工作流程,提高了生产力,并重塑了个人和组织解决问题的方式。从静态工具到动态、由智能体驱动的过程的转变,释放出了前所未有的效率,为更具创新性的2025年奠定了基础。今天,我们将探讨智能体RAG系统的类型。在本指南中,我们将深入了解各类智能体RAG的架构等内容。

智能体RAG系统:RAG与智能体AI系统的结合

为了更简单地理解智能体RAG,我们先剖析一下这个术语:它是RAG和AI智能体的融合。如果你不了解这些术语,别担心!我们很快就会深入探讨。

现在,我来介绍一下RAG和智能体AI系统(AI智能体)。

什么是RAG(检索增强生成)?

RAG是一个旨在通过将外部知识源集成到生成过程中来提高生成式AI模型性能的框架。其工作原理如下:

What is Retrieval-Augmented Generation (RAG)? A Practical Guide

  • 检索组件:这部分从外部知识库、数据库或其他数据存储库中获取相关信息。这些来源可以包括结构化或非结构化数据,如文档、应用程序编程接口(APIs),甚至实时数据流。
  • 增强:检索到的信息用于为生成模型提供信息和指导。这确保了输出在事实方面更加准确,基于外部数据,并且具有丰富的上下文。
  • 生成:生成式AI系统(如GPT)将检索到的知识与其自身的推理能力相结合,以产生最终输出。

在处理复杂查询或需要最新的特定领域知识的领域时,RAG特别有价值。

什么是AI智能体?

这是AI智能体工作流程对查询 “谁赢得了2024年欧洲杯冠军?请告诉我更多细节!” 的回应:

AI AGENT WORKFLOW

  • 初始指令提示:用户输入一个查询,例如 “谁赢得了2024年欧洲杯冠军?请告诉我更多细节!”。
  • 大语言模型处理和工具选择:大语言模型(LLM)解释查询,并决定是否需要外部工具(如网络搜索)。它发起一个函数调用以获取更多详细信息。
  • 工具执行和上下文检索:选定的工具(例如搜索API)检索相关信息。在这里,它获取有关2024年欧洲杯决赛的详细信息。
  • 响应生成:新信息与原始查询相结合。大语言模型生成一个完整的最终响应:“2024年7月在柏林举行的决赛中,西班牙以2 - 1战胜英格兰,赢得了2024年欧洲杯冠军。”

简而言之,一个智能体AI系统具有以下核心组件:

  • 大语言模型(LLMs):操作的核心,大语言模型充当中央处理单元,解释输入并生成有意义的响应。

  • 输入查询:用户提供的问题或命令,用于启动AI的操作。

  • 理解查询:AI分析输入以理解其含义和意图。

  • 响应生成:基于查询,AI制定适当且连贯的回复。

  • 工具集成:执行任务的手段,外部工具增强了AI执行特定任务的功能,超越了基于文本的交互。

    • 文档读取工具:处理和提取文本文档中的见解。
    • 分析工具:进行数据分析以提供可行的见解。
    • 对话工具:促进交互式和动态对话功能。
  • 记忆系统:上下文智能的关键,记忆使AI能够保留和利用过去的交互,以获得更具上下文感知的响应。

    • 短期记忆:保存最近的交互,以便立即用于上下文。
    • 长期记忆:随时间存储信息,以供持续参考。
    • 语义记忆:维护一般知识和事实,以便进行明智的交互。

这展示了AI如何集成用户提示、工具输出和自然语言生成。

以下是AI智能体的定义:

AI智能体是自主软件系统,旨在通过与环境交互来执行特定任务或实现某些目标。AI智能体的关键特征包括:

  • 感知:它们感知或检索有关其环境的数据(例如从API或用户输入中获取)。
  • 推理:它们分析数据以做出明智的决策,通常利用像GPT这样的AI模型进行自然语言理解。
  • 行动:它们在现实或虚拟世界中执行行动,例如生成响应、触发工作流程或修改系统。
  • 学习:先进的智能体通常会根据反馈或新数据随时间适应并提高其性能。

AI智能体可以处理跨多个领域的任务,如客户服务、数据分析、工作流程自动化等。

为什么我们要关注智能体RAG系统?

首先,基本的检索增强生成(RAG)存在以下局限性:

  • 何时检索:系统可能难以确定何时需要检索,这可能导致答案不完整或准确性较低。
  • 文档质量:检索到的文档可能与用户的问题不太匹配,这可能会降低响应的相关性。
  • 生成错误:模型可能会 “幻觉”,添加不准确或不相关的信息,而这些信息并未得到检索内容的支持。
  • 答案精度:即使有相关文档,生成的响应可能也无法直接或充分地回答用户的查询,从而使输出的可靠性降低。
  • 推理问题:系统无法对复杂查询进行推理,这阻碍了对问题的深入理解。
  • 适应性有限:传统系统无法动态调整策略,如选择API调用或网络搜索。

智能体RAG的重要性

了解智能体RAG系统有助于我们针对上述挑战和特定任务部署正确的解决方案,并确保与预期用例保持一致。以下是其重要性的具体体现:

  • 定制解决方案:不同类型的智能体RAG系统是为不同程度的自主性和复杂性而设计的。例如:

    • 智能体RAG路由器:智能体RAG路由器是一个模块化框架,它根据查询的意图和复杂性,动态地将任务路由到适当的检索、生成或行动组件。
    • 自反思RAG:自反思RAG集成了内省机制,使系统能够在最终确定输出之前,通过迭代评估检索相关性、生成质量和决策准确性来评估和优化其响应。了解这些类型可确保实现最佳设计和资源利用。
  • 风险管理:智能体系统涉及决策,这可能会引入诸如错误行动、过度依赖或滥用等风险。了解每种类型的范围和局限性有助于减轻这些风险。

  • 创新与可扩展性:区分不同类型可使企业将其系统从基本实现扩展到能够处理企业级挑战的复杂智能体。

简而言之,智能体RAG可以进行规划、适应和迭代,为用户找到正确的解决方案。

智能体RAG:RAG与AI智能体的融合

结合AI智能体和RAG工作流程,以下是智能体RAG的架构:
智能体RAG将RAG的结构化检索和知识集成能力与AI智能体的自主性和适应性相结合。其工作原理如下:

img

  • 动态知识检索:配备RAG的智能体可以即时检索特定信息,确保它们使用最新的、与上下文相关的数据进行操作。
  • 智能决策:智能体处理检索到的数据,应用先进的推理来生成解决方案、完成任务或准确深入地回答问题。
  • 任务导向执行:与静态的RAG管道不同,智能体RAG系统可以执行多步骤任务,根据反馈循环调整不断变化的目标,或优化其方法。
  • 持续改进:通过学习,智能体随着时间的推移改进其检索策略、推理能力和任务执行,变得更加高效和有效。

智能体RAG的应用

以下是智能体RAG的一些应用:

  • 客户支持:通过访问实时数据源,自动检索并向用户查询提供准确的响应。
  • 内容创建:为法律或医疗等复杂领域生成内容丰富的内容,借助检索到的知识提供支持。
  • 研究辅助:帮助研究人员从大量数据库中自主收集和综合相关材料。
  • 工作流程自动化:通过将检索驱动的决策集成到业务流程中,简化企业运营。

智能体RAG代表了检索增强生成和自主AI智能体之间的强大协同作用,使系统能够以前所未有的智能、适应性和相关性进行操作。这是构建AI系统的重要一步,这些AI系统不仅具备丰富的知识,还能够独立执行复杂的、知识密集型的任务。

希望现在你已经对智能体RAG有了充分的了解。在下一部分中,我将介绍一些重要且流行的智能体RAG系统类型及其架构。

智能体RAG路由器

如前所述,“智能体” 一词意味着系统表现得像一个智能智能体,能够推理并决定使用哪些工具或方法来检索和处理数据。通过利用检索(例如数据库搜索、网络搜索、语义搜索)和生成(例如大语言模型处理),该系统确保以最有效的方式回答用户的查询。

同样,智能体RAG路由器是一种旨在将用户查询动态路由到适当工具或数据源的系统,它增强了大语言模型(LLMs)的功能。此类路由器的主要目的是将检索机制与大语言模型的生成优势相结合,以提供准确且上下文丰富的响应。

这种方法弥合了大语言模型(在现有数据上进行训练)的静态知识与从实时或特定领域数据源进行动态知识检索需求之间的差距。通过结合检索和生成,智能体RAG路由器支持以下应用:

  • 问答
  • 数据分析
  • 实时信息检索
  • 推荐生成
智能体RAG路由器的架构

该架构图详细展示了智能体RAG路由器的运行方式。我们来分解一下其中的组件和流程:

img

  • 用户输入和查询处理

    • 用户输入:用户提交一个查询,这是系统的入口点。它可以是一个问题、命令或对特定数据的请求。
    • 查询:用户输入被解析并格式化为系统能够解释的查询。
  • 检索智能体:检索智能体作为核心处理单元,它充当协调器,决定如何处理查询。它评估:

    • 查询的意图。
    • 所需信息的类型(结构化、非结构化、实时、推荐)。
  • 路由器:路由器确定处理查询的适当工具:

    • 向量搜索:使用语义嵌入检索相关文档或数据。
    • 网络搜索:从互联网访问实时信息。
    • 推荐系统:根据先前的用户交互或上下文相关性提供内容或结果建议。
    • 文本到SQL:将自然语言查询转换为SQL命令,以访问结构化数据库。
  • 工具:这里列出的工具是模块化和专门化的:

    • 向量搜索A和B:旨在搜索语义嵌入,以匹配矢量化形式的内容,非常适合处理文档、PDF或书籍等非结构化数据。
    • 网络搜索:访问外部实时网络数据。
    • 推荐系统:利用AI模型提供针对特定用户的建议。
  • 数据源:系统连接到各种数据源:

    • 结构化数据库:用于存储组织有序的信息(例如基于SQL的系统)。
    • 非结构化数据源:PDF、书籍、研究论文等。
    • 外部存储库:用于语义搜索、推荐和实时网络查询。
  • 大语言模型集成:一旦数据被检索,它将被输入到大语言模型中:大语言模型将检索到的信息与其生成能力相结合,创建一个连贯的、人类可读的响应。

  • 输出:最终响应以清晰且可行的格式返回给用户。

智能体RAG路由器的类型

以下是智能体RAG路由器的类型:

  • 单智能体RAG路由器:在这种设置中,有一个统一的智能体负责所有路由、检索和决策任务。它更简单、更集中,适用于数据源或工具有限的系统。

    • 用例:适用于具有单一类型查询的应用程序,例如检索特定文档或处理基于SQL的请求。
    • 在单智能体RAG路由器中:用户提交查询,由单个检索智能体进行处理。检索智能体评估查询并将其传递给单个路由器,路由器决定使用哪个工具(例如向量搜索、网络搜索、文本到SQL、推荐系统)。路由器根据需要将查询连接到一个或多个工具。每个工具从其各自的数据源获取数据。文本到SQL与PostgreSQL或MySQL等数据库进行交互,以处理结构化查询。语义搜索从PDF、书籍或非结构化源中检索数据。网络搜索获取实时在线信息。推荐系统根据上下文或用户配置文件提供建议。检索后,数据被传递到大语言模型,大语言模型将其与生成能力相结合以产生响应。响应以清晰、可行的格式返回给用户。这种方法对于具有有限数据源和工具的简单用例来说是集中且高效的。
  • 多智能体RAG路由器:这种架构涉及多个智能体,每个智能体处理特定类型的任务或查询。它更模块化、可扩展,适用于具有各种工具和数据源的复杂系统。

    • 用例:适用于满足多种用户需求的多功能系统,例如跨多个领域的研究、分析和决策。
    • 在多智能体RAG路由器中:用户提交查询,最初由检索智能体处理。系统采用多个检索智能体,而不是单个路由器,每个检索智能体专门处理特定类型的任务。例如,检索智能体1可能处理基于SQL的查询。检索智能体2可能专注于语义搜索。检索智能体3可能优先处理推荐或网络搜索。每个检索智能体根据其范围将查询路由到共享工具池中的指定工具(例如向量搜索、网络搜索等)。每个工具根据检索智能体的要求从各自的源获取数据。多个智能体可以并行操作,确保高效处理各种查询类型。所有检索到的数据都被传递到大语言模型,大语言模型综合这些信息并生成连贯的响应。最终处理后的响应返回给用户。这种方法是模块化和可扩展的,适用于具有多样化工具和高查询量的复杂系统。

智能体RAG路由器结合了智能决策、强大的检索机制和大语言模型,创建了一个通用的查询响应系统。该架构将用户查询最佳地路由到适当的工具和数据源,确保高度的相关性和准确性。无论是使用单个还是多个路由器设置,设计都取决于系统的复杂性、可扩展性需求和应用要求。

查询规划智能体RAG

查询规划智能体RAG(检索增强生成)是一种通过利用跨多种数据源的多个可并行子查询来有效处理复杂查询的方法。这种方法结合了智能查询划分、分布式处理和响应合成,以提供准确和全面的结果。

img

查询规划智能体RAG的核心组件

以下是其核心组件:

  • 用户输入和查询提交:用户向系统提交查询或请求。输入查询被处理并传递到下游进行进一步处理。
  • 查询规划器:查询规划器是协调该过程的核心组件。它解释用户提供的查询。为下游组件生成适当的提示。决定调用哪些工具(查询引擎)来回答查询的特定部分。
  • 工具:工具是包含查询引擎的专门管道(例如RAG管道),如查询引擎1、查询引擎2。这些管道负责从外部知识源(例如数据库、文档或API)检索相关信息或上下文。检索到的信息被发送回查询规划器进行集成。
  • 大语言模型(LLM):大语言模型作为复杂推理、自然语言理解和响应生成的合成引擎。它与查询规划器双向交互:接收规划器的提示。根据检索到的信息提供具有上下文感知的响应或优化输出。
  • 合成和输出:系统将从工具检索到的信息与大语言模型的响应结合成一个连贯的答案或解决方案。最终合成的结果呈现给用户。
主要亮点
  • 模块化设计:架构允许在工具选择和集成方面具有灵活性。
  • 高效查询规划:查询规划器充当智能中介,优化使用哪些组件以及按什么顺序使用。
  • 检索增强生成:通过利用RAG管道,系统用最新的特定领域信息增强大语言模型的知识。
  • 迭代交互:查询规划器确保工具和大语言模型之间的迭代协作,逐步优化响应。

自适应RAG

自适应检索增强生成(Adaptive Retrieval-Augmented Generation,简称Adaptive RAG)是一种通过根据传入查询的复杂程度定制查询处理策略,来提升大语言模型(LLMs)灵活性和效率的方法。

自适应RAG的核心思路

自适应RAG会依据查询的复杂程度,动态地在不同的问题回答策略间进行选择,策略涵盖从简单的单步方法,到更复杂的多步方法,甚至是无需检索的过程。这种选择由一个分类器来辅助完成,该分类器会分析查询的性质,进而确定最优的处理方式。

img

与其他方法的对比

下面是单步、多步和自适应方法的对比:

  • 单步方法

    • 工作原理:无论是简单查询还是复杂查询,都只执行一轮检索,然后直接根据检索到的文档生成答案。
    • 局限性:对于像 “迈克尔·菲尔普斯的生日是什么时候?” 这类简单查询效果较好,但对于像 “比利·贾尔斯出生地使用什么货币?” 这样的复杂查询,由于缺乏中间推理过程,往往无法给出准确答案,导致在复杂情况下回答不准确。
  • 多步方法

    • 工作原理:无论查询简单还是复杂,都会经过多轮检索,通过迭代生成中间答案来优化最终响应。
    • 局限性:虽然功能强大,但对于简单查询会引入不必要的计算开销。例如,反复处理 “迈克尔·菲尔普斯的生日是什么时候?” 这样的查询,既低效又冗余。
  • 自适应方法

    • 工作原理:该方法使用一个分类器来判断查询的复杂程度,并选择合适的策略:对于直白的查询,直接生成答案,无需检索(比如 “巴黎是哪个国家的首都?”);对于简单查询,采用单步检索过程;对于复杂查询,则进行多步检索,以便进行迭代推理和优化答案。
    • 优势:减少了简单查询的不必要开销,同时确保复杂查询的高准确性,能够灵活适应各种复杂程度的查询。

img

自适应RAG框架
  • 分类器的作用:一个较小的语言模型用于预测查询的复杂程度。它使用自动标注的数据集进行训练,这些标注来自过去模型的输出结果以及数据中固有的模式。
  • 动态策略选择:对于简单或直白的查询,该框架避免浪费计算资源;对于复杂查询,它通过多步检索确保有足够的迭代推理过程。
来自LangGraph的自适应RAG系统架构流程

这是另一个来自LangGraph的自适应RAG系统架构流程示例:

img

  1. 查询分析:过程从分析用户查询开始,以确定检索和生成答案的最合适路径。

    • 步骤1:路径确定:根据查询与现有索引(数据库或向量存储)的相关性,将查询分类。如果查询与索引内容匹配,会被路由到RAG模块进行检索和生成;如果查询超出索引范围,则会被路由进行网络搜索或访问其他外部知识源。此外,还可以添加可选路径,用于更特殊的场景,如特定领域的工具或外部API。
  2. RAG + 自我反思:如果查询通过RAG模块进行处理,它会经历一个迭代的自我反思过程,以确保生成高质量且准确的响应。

    • 检索节点:根据查询从索引数据库中检索文档,并将这些文档传递到下一阶段进行评估。
    • 评分节点:评估检索到的文档的相关性。若文档相关,继续生成答案;若不相关,则重写查询以获得更好的检索效果,并将流程循环回到检索节点。
    • 生成节点:根据相关文档生成响应,并进一步评估生成的响应,以确保其准确性和相关性。
    • 自我反思步骤:检查生成的答案是否回答了问题。如果是,过程结束,将答案返回给用户;如果不是,则对查询进行另一次迭代,可能会进行更多的优化。
    • 幻觉检查:如果检测到幻觉(不准确或虚构的事实),则重写查询或触发额外的检索以进行纠正。
    • 重写问题节点:优化查询以获得更好的检索结果,并将其循环回整个流程,确保模型能够动态适应边缘情况或不完整的数据。
  3. 针对不相关查询的网络搜索:如果在查询分析阶段判断查询与索引知识库不相关,系统会直接进行网络搜索,并使用检索到的数据生成响应,然后将生成的响应直接提供给用户。

从本质上讲,自适应RAG是一个智能且资源感知的框架,通过采用定制的查询策略,提高了响应质量和计算效率。

智能体纠正性RAG

低质量的检索器常常会引入大量不相关的信息,这会阻碍生成器获取准确的知识,甚至可能使其产生错误的结果。

img

同样,RAG也存在一些问题:

  • 传统RAG(检索增强生成)的问题:低质量的检索器可能会引入大量不相关或具有误导性的信息,这不仅会妨碍模型获取准确知识,还会增加生成过程中产生幻觉的风险;许多传统RAG系统不加区分地整合所有检索到的文档,而不考虑其相关性,这会导致不必要或错误的数据被整合进来;当前的RAG方法通常将完整的文档视为知识来源,即使检索到的文本大部分可能不相关,这会降低生成内容的质量;依赖固定数据库的检索系统只能提供有限或不太理想的文档,无法适应动态的信息需求。
纠正性RAG(CRAG)

CRAG旨在通过引入自我纠正检索结果的机制、增强文档利用效率和提升生成质量,来解决上述问题。

  • 关键特性

    • 检索评估器:这是一个轻量级组件,用于评估针对某个查询检索到的文档的相关性和可靠性,并为文档分配一个置信度。
    • 触发操作:根据置信度分数,触发不同的检索操作,包括“纠正”“存疑”或“错误”。
    • 网络搜索增强:CRAG认识到静态数据库的局限性,因此整合了大规模的网络搜索,以补充和改进检索结果。
    • 分解再重组算法:该方法有选择地从检索到的文档中提取关键信息,舍弃不相关的部分,从而优化输入到生成器的内容。
    • 即插即用能力:CRAG可以无缝集成到现有的基于RAG的系统中,无需进行大量修改。

img

纠正性RAG工作流程
  1. 步骤1:检索:使用输入查询从向量数据库中检索上下文文档,这是收集潜在相关信息的初始步骤。
  2. 步骤2:相关性检查:使用大语言模型(LLM)评估检索到的文档与输入查询是否相关,确保检索到的文档适用于该问题。
  3. 步骤3:相关性验证:如果所有文档都相关(“正确”),则无需采取特定的纠正措施,可直接进入生成阶段;若检测到模糊性或错误,则进入步骤4。
  4. 步骤4:查询重写和搜索:如果文档存在模糊性或错误,根据大语言模型的见解重写查询,并进行网络搜索或其他替代检索方式,以获取更新的准确上下文信息。
  5. 步骤5:响应生成:将优化后的查询和相关上下文文档(已纠正或原始的)发送给大语言模型,以生成最终响应。响应的类型取决于检索到或纠正后的文档的质量:如果文档“正确”,则使用查询和检索到的文档;如果“存疑”,则结合原始和新的上下文文档;如果“错误”,则使用纠正后的查询和新检索到的文档进行生成。

这个工作流程通过迭代纠正和优化,确保了响应的高准确性。

智能体纠正性RAG系统工作流程

其思路是在RAG系统中加入一些检查机制,如果针对给定的用户查询缺乏相关的上下文文档,则进行网络搜索,具体如下:

img

  • 问题:这是用户的输入,是整个流程的起点。

  • 检索(节点):系统查询向量数据库,检索可能回答用户问题的上下文文档。

  • 评分(节点):大语言模型(LLM)评估检索到的文档与查询是否相关。如果所有文档都被认为相关,系统将继续生成答案;如果有任何文档不相关,系统将进入重写查询并尝试进行网络搜索的步骤。

    • 步骤1 - 检索节点:系统根据查询从向量数据库中检索文档,提供上下文或答案。
    • 步骤2 - 评分节点:大语言模型评估文档的相关性:若所有文档都相关,则继续生成答案;若有部分文档不相关,则标记问题并优化查询。
    • 评分后的分支情况:如果所有文档都相关,大语言模型生成快速响应;对于不相关的结果,重写查询以获得更好的检索效果;通过网络搜索收集更多上下文;使用优化后的查询和新数据生成答案。

我们可以将其构建为一个智能体RAG系统,将特定的功能步骤作为图中的节点,并使用LangGraph来实现它。节点中的关键步骤包括向大语言模型发送提示,以执行特定任务,具体详细工作流程如下:

img

智能体纠正性RAG架构通过纠正步骤,增强了检索增强生成(RAG)的能力,以获得准确的答案:

  • 查询和初始检索:用户查询从向量数据库中检索上下文文档。
  • 文档评估:大语言模型评分提示评估每个文档的相关性(是或否)。
  • 决策节点:如果所有文档都相关,直接进入生成答案阶段;如果存在不相关的文档,则触发纠正步骤。
  • 查询重写:大语言模型重写提示重写查询,以优化网络检索效果。
  • 额外检索:网络搜索检索更优质的上下文文档。
  • 响应生成:RAG提示仅使用经过验证的上下文生成答案。

简而言之,CRAG的作用如下:

  • 错误纠正:该架构通过识别不相关的文档并检索更好的文档,迭代地提高上下文的准确性。
  • 智能体行为:系统根据大语言模型的评估动态调整其操作(例如重写查询、进行网络搜索)。
  • 事实性保证:通过将生成步骤基于经过验证的上下文文档,该框架最大限度地降低了产生幻觉或错误响应的风险。

自反思RAG

自反思RAG(检索增强生成)是自然语言处理(NLP)中的一种先进方法,它结合了基于检索的方法和生成模型的能力,同时增加了自我反思和逻辑推理的额外层次。例如,自反思RAG有助于检索、重写问题、丢弃不相关或包含幻觉内容的文档,并重新尝试检索。简而言之,引入它是为了利用大语言模型自我纠正低质量的检索和 / 或生成结果。

自路由的关键组件
  • 大语言模型决策:对查询进行评估,以确定能否根据给定的检索上下文回答该查询。
  • 路由:如果查询可回答,则立即生成响应;否则,将其路由到具有完整上下文文档的长上下文模型,以生成响应。
  • 效率和准确性:这种设计在成本效率(避免不必要的计算成本和时间)和准确性(仅在需要时利用长上下文模型)之间取得平衡。
自反思RAG的关键特性
  • 按需自适应检索:与传统的RAG方法不同,传统方法会预先检索一组固定的文本段落,而自反思RAG会根据正在进行的生成过程动态决定是否需要检索。这个决策是通过反思令牌来做出的,反思令牌在生成过程中充当信号。
  • 反思令牌:这些是集成到大语言模型工作流程中的特殊令牌,有两个作用:检索令牌用于指示是否需要从外部源获取更多信息;批判令牌用于自我评估生成的文本,以评估其质量、相关性或完整性。通过使用这些令牌,大语言模型可以决定何时检索,并确保生成的文本与引用的来源一致。
  • 自我批判以保证质量:大语言模型使用生成的批判令牌对自己的输出进行批判。这些令牌验证生成片段的相关性、支持性或完整性等方面。这种机制确保最终输出不仅连贯,而且有检索到的证据充分支持。
  • 可控且灵活:反思令牌使模型能够在推理过程中调整其行为,使其适用于各种任务,例如回答需要检索的问题,或生成无需检索的自包含输出。
  • 性能提升:通过结合动态检索和自我批判,自反思RAG在生成高质量输出方面优于标准RAG模型和大语言模型(LLMs),其输出更有证据支持。

基本的RAG流程涉及大语言模型根据检索到的文档生成输出。先进的RAG方法(如路由)允许大语言模型根据查询选择不同的检索器。自反思RAG增加了反馈循环,根据需要重新生成查询或重新检索文档。状态机非常适合这种迭代过程,它定义了步骤(例如检索、查询优化)和转换,允许在检索到的文档不相关时进行动态调整,如重新查询。

img

自反思RAG的架构

这是我创建的自反思RAG(检索增强生成)架构,以下是其流程和组件:

img

  • 流程从查询(绿色部分)开始:第一个决策点是 “是否需要检索?”。如果不需要,查询直接进入大语言模型进行处理;如果需要,系统进入检索步骤。
  • 知识库集成:一个知识库(紫色部分)连接到 “检索相关文档” 步骤。这个检索过程提取可能相关的信息来回答查询。
  • 相关性评估:检索到的文档经过 “评估相关性” 步骤,文档被分类为 “相关” 或 “不相关”。不相关的文档会触发另一次检索尝试,相关的文档被传递给大语言模型。
  • 大语言模型处理:大语言模型(黄色部分)处理查询以及相关的检索信息,并生成一个初始答案(绿色部分)。
  • 验证过程:系统进行幻觉检查,判断生成的答案是否与提供的上下文一致(避免无根据或虚构的响应)。
  • 自我反思:“批判生成的响应” 步骤(蓝色部分)评估答案,这是架构中的 “自反思” 部分。如果答案不令人满意,系统可以触发查询重写并重新开始这个过程。
  • 最终输出:一旦生成了 “准确答案”,它就成为最终输出。
  • 评分和生成决策:检索节点处理文档的初始检索;评分文档评估检索到的文档的质量和相关性;如果没有找到相关文档,转换查询节点会调整查询以便重新检索;生成过程决定是否直接根据检索到的文档生成答案,并使用条件边迭代优化答案,直到认为答案有用。
传统RAG和自反思RAG的工作流程

下面是使用 “美国各州的名字是怎么来的?” 这个示例提示,展示传统RAG和自反思RAG的工作流程:

img

  • 传统RAG工作流程

    • 步骤1 - 检索K个文档:检索特定文档,如 “在五十个州中,有十一个州是以个人名字命名的”“各州的流行名字。在得克萨斯州,艾玛是一个流行的婴儿名字”“加利福尼亚州是以一本西班牙书中的一个虚构岛屿命名的”。
    • 步骤2 - 使用检索到的文档生成:将原始提示(“美国各州的名字是怎么来的?”)和所有检索到的文档作为输入,语言模型生成一个综合所有内容的响应,这可能会导致矛盾或混入不相关的信息(比如声称加利福尼亚州是以克里斯托弗·哥伦布命名的)。
  • 自反思RAG工作流程

    • 步骤1 - 按需检索:从提示 “美国各州的名字是怎么来的?” 开始,进行关于州名来源的初始检索。
    • 步骤2 - 并行生成片段:创建多个独立的片段,每个片段都有自己的提示和检索信息以及事实验证。例如,片段1包含关于以人命名的州的事实;片段2包含关于得克萨斯州命名的信息;片段3包含关于加利福尼亚州名字起源的细节。
    • 步骤3 - 批判和选择:评估所有生成的片段,选择最准确 / 相关的片段。如果需要,可以检索更多信息,将经过验证的信息组合成最终响应。

自反思RAG的关键改进在于:将响应分解为更小的、可验证的部分;独立验证每个部分;在需要时动态检索更多信息;仅将经过验证的信息组合成最终响应。

如下面 “写一篇关于你最棒的暑假的文章” 这个例子所示:传统RAG仍然会不必要地尝试检索文档;自反思RAG则认识到无需检索,可以直接根据个人经验生成内容。

推测性RAG

推测性RAG是一个巧妙的框架,旨在让大语言模型(LLMs)在回答问题时,速度更快且准确性更高。它通过将工作分配给两种语言模型来实现这一目标:

  • 一个小型的专用模型,用于快速起草可能的答案。
  • 一个大型的通用模型,用于仔细检查这些草稿并选择最佳答案。
    img
为什么我们需要推测性RAG?

当你提出一个问题,尤其是需要精确或最新信息的问题(比如 “新款iPhone的最新功能有哪些?”)时,常规的大语言模型往往会遇到困难,原因如下:

  • 可能产生幻觉:这意味着它们可能会自信地给出错误或编造的答案。
  • 依赖过时知识:如果模型没有在最新数据上进行训练,就无法提供新的事实信息。
  • 复杂推理耗时:如果有大量信息需要处理(比如长篇文档),模型可能需要很长时间才能做出响应。

这时检索增强生成(RAG)就发挥作用了。RAG会检索实时的相关文档(比如从数据库或搜索引擎中获取),并利用这些文档生成答案。但问题是,当处理大量数据时,RAG仍然可能速度较慢且资源消耗大。

推测性RAG通过引入专门的协作解决了这个问题:(1)一个专门的RAG起草器,(2)一个通用的RAG验证器。

推测性RAG的工作原理

可以把推测性RAG想象成一个两人团队在解谜:

  • 步骤1:收集线索 一个 “检索器” 会去获取与你问题相关的信息文档。例如,如果你问 “谁在1980年的电影《朝九晚五》中饰演多拉莉·罗兹?”,它会提取关于这部电影,甚至可能包括同名音乐剧的文章。
  • 步骤2:起草答案(小型模型) 一个较小、速度更快的语言模型(专门的起草器)会处理这些文档。它的工作是:快速创建多个可能答案的草稿,并为每个草稿提供推理依据(比如 “这个答案是基于这个来源”)。这个模型就像一个初级侦探,迅速勾勒出各种想法。
  • 步骤3:验证最佳答案(大型模型) 一个更大、更强大的语言模型(通用验证器)随后介入。它会:检查每个草稿的准确性和相关性,根据可信度对它们进行评分,然后选择最佳的答案作为最终输出。可以把这个模型看作是资深侦探,仔细检查初级侦探的工作并做出最终决定。
一个示例

我们来看一个示例查询:“谁在1980年的电影《朝九晚五》中饰演多拉莉·罗兹?”

  • 检索文档:系统找到关于电影(1980年)和音乐剧(2010年)的文章。

  • 起草答案(专门起草器)

    • 草稿1:“多莉·帕顿在1980年的电影《朝九晚五》中饰演多拉莉·罗兹。”
    • 草稿2:“多拉莉·罗兹是2010年音乐剧《朝九晚五》中的一个角色。”
  • 验证答案(通用验证器)

    • 草稿1得分高,因为它与电影和问题相符。
    • 草稿2得分低,因为它说的是音乐剧,而不是电影。
  • 最终答案:系统自信地输出:“多莉·帕顿在1980年的电影《朝九晚五》中饰演多拉莉·罗兹。”

这种方法为何巧妙?
  • 响应更快:较小的模型负责生成草稿的繁重工作,加快了速度。
  • 答案更准确:较大的模型只专注于审核草稿,确保结果质量高。
  • 资源利用高效:较大的模型不会浪费时间处理不必要的细节,它只进行验证工作。
推测性RAG的关键优势
  • 性能平衡:由于小型模型起草、大型模型验证,所以它速度快且准确。
  • 避免精力浪费:大型模型无需审核所有内容,只检查小型模型给出的建议。
  • 实际应用出色:非常适合回答那些既需要推理,又需要实时、最新信息的难题。

推测性RAG就像是有一个聪明的助手(专门的起草器)和一个严谨的编辑(通用验证器)一起工作,确保你的答案不仅快速,而且精准无误!

标准RAG、自反思RAG、纠正性RAG与推测性RAG的对比

img

  • 标准RAG

    • 工作方式:从知识库中检索文档,并直接将其纳入通用大语言模型的输入中。
    • 缺点:这种方法让通用大语言模型既要理解文档,又要生成最终答案,负担过重。而且它无法区分相关和不相关的信息。
  • 自反思RAG

    • 新增功能:通用大语言模型学习对检索到的文档进行相关性分类,并根据这些分类进行自我调整。
    • 缺点:需要对通用大语言模型进行额外的指令调优,以处理这些分类,而且生成的答案效率可能仍然不高。
  • 纠正性RAG

    • 新增功能:在将文档纳入通用大语言模型的提示之前,使用外部自然语言推理(NLI)模型将文档分类为正确、模糊或错误。
    • 缺点:引入额外的NLI步骤增加了复杂性,减缓了处理过程。
  • 推测性RAG

    • 关键创新:将任务分为两部分:一个专门的RAG起草器(较小的语言模型)快速生成多个答案草稿和推理依据;通用大语言模型评估这些草稿并选择最佳答案。
    • 分步过程:当系统收到一个知识密集型问题时,检索相关文档;专门的RAG起草器并行处理检索到的文档子集,每个子集生成一个草稿答案(α)和相应的推理依据(β);通用大语言模型评估所有草稿(α1,α2,α3)及其推理依据,进行评分,选择最有把握的草稿作为最终答案。

推测性RAG框架在速度和准确性之间达到了完美平衡:小型专门的语言模型承担繁重的工作(根据检索到的文档起草答案);大型通用语言模型确保最终输出准确且合理。这种方法通过减少延迟,同时保持最先进的准确性,超越了早期的方法。

自路由智能体RAG

自路由是智能体RAG系统中的一种设计模式,在这种模式下,大语言模型(LLMs)在决定如何处理查询方面发挥积极作用。该方法依赖于大语言模型的自我反思能力,以确定它能否根据提供的上下文生成准确的响应。如果模型判定无法生成可靠的响应,它会将查询路由到其他方法(如长上下文模型)进行进一步处理。这种架构利用大语言模型的内部校准来判断答案的可获取性,从而优化性能和成本。在《检索增强生成还是长上下文大语言模型?全面研究与混合方法》中介绍了这种方法,它结合了检索增强生成(RAG)和长上下文(LC)技术,在保持与长上下文模型性能相当的同时,实现了成本效率。自路由利用大语言模型自身通过自我反思来路由查询,其基于的假设是,大语言模型能够很好地校准,判断在给定上下文的情况下,一个查询是否可被回答。

img

自路由的关键组件
  • 大语言模型决策:评估查询,以确定能否根据给定的上下文回答该查询。
  • 路由:如果查询可回答,则立即进行处理;否则,将其路由到具有更多或完整上下文的长上下文模型。
  • 效率和准确性:这种设计在成本效率(避免不必要的计算)和准确性(仅在需要时利用长上下文模型)之间取得平衡。
标准RAG流程
  • 输入查询和上下文检索:用户提交查询;使用向量数据库检索相关的上下文文档,向量数据库会将查询与预先索引的文档进行匹配。
  • 决策节点:像GPT-4o或Gemini这样的长上下文大语言模型接收查询和上下文文档;它使用大语言模型判断提示,该提示内容为 “如果根据提供的上下文无法回答查询,请写‘无法回答’,否则写‘可回答’。查询:<查询内容>;上下文文档:<上下文内容>”;这一步用于确定上下文是否足以回答查询。
  • 结果:如果查询被判定为 “可回答”,则继续执行标准RAG提示流程;如果是 “无法回答”,则进入长上下文大语言模型流程。
  • RAG提示(用于可回答的查询):如果有足够的上下文,使用以下提示来生成响应:“给定一个查询和上下文文档,仅使用提供的信息回答查询,不要编造答案。查询:<查询内容>;上下文:<上下文内容>”。
  • 答案生成:GPT 4o模型处理RAG提示,并根据提供的上下文生成答案。
长上下文大语言模型流程
  • 触发条件:如果查询在决策节点被判定为 “无法回答”,则流程切换到长上下文大语言模型流程。
  • 合并上下文文档:大语言模型判断提示识别出上下文的不足,因此通过合并操作将多个相关的上下文文档合并为一个长上下文文档,以实现更好的上下文连贯性。
  • 长上下文提示:然后将合并后的文档作为输入,与以下提示一起提供给GPT-4o模型:“给定一个查询和这个上下文文档,仅使用提供的信息回答查询,不要编造答案。查询:<查询内容>;上下文:<长上下文内容>”。
  • 答案生成:GPT 4o模型处理长上下文提示,并根据丰富的合并上下文生成响应。
关键特性和工作流程
  • 动态决策:架构动态评估上下文是否足以回答查询,确保系统根据输入的复杂程度进行自适应调整。
  • 两级答案生成:标准RAG流程用于处理上下文充足的简单查询;长上下文大语言模型流程用于处理需要广泛或组合上下文的复杂查询。
  • 用于精细控制的提示:RAG提示和长上下文提示中的明确指令通过限制模型仅使用提供的上下文,确保答案的真实性,避免产生幻觉。
  • 向量数据库的可扩展性:系统通过在决定查询处理方式之前,从向量数据库中检索相关上下文,实现高效扩展。
总结

标准RAG流程有效地处理具有可用且充足上下文的查询;长上下文大语言模型流程通过将多个文档合并为连贯的长上下文,扩展了处理复杂查询的能力;精心设计的提示和决策节点确保了准确性、上下文依从性以及对不同查询需求的适应性。

结论

随着检索增强生成(RAG)领域的不断发展,智能体RAG系统已成为一项变革性的创新成果,它将传统的RAG工作流程与AI智能体的自主性和适应性融合在一起。这种融合使得系统能够动态地检索相关知识、智能地优化上下文,并精确地执行多步骤任务。

从智能体RAG路由器、自反思RAG,到推测性RAG和自路由RAG等先进架构,每种方法都针对特定的挑战,如不相关的检索结果、推理错误或计算效率低下等问题。这些系统在提高准确性、适应性和可扩展性方面取得了显著进展,广泛应用于客户支持、工作流程自动化和研究辅助等多个领域。

通过将生成式AI与先进的检索机制相结合,智能体RAG不仅提高了效率,还为未来的AI创新奠定了基础。随着我们迈向2025年,这些技术有望重新定义我们利用数据、自动化工作流程和解决复杂问题的方式,使其成为企业和开发者必不可少的工具。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值