本文详解了模块化RAG系统的四种核心工作模式:线性模式(顺序执行各模块)、条件模式(根据问题特性动态选择流程)、分支模式(并行处理多分支后聚合结果)和循环模式(迭代优化检索与生成过程)。这些模式使RAG系统能灵活应对不同场景,提高设计效率和扩展性,帮助开发者构建更强大、更适应性强的大模型应用。

本章将详细介绍几种常见的 RAG模式,包括:

  • 线性模式:在这个模式下,各个模块按顺序依次执行,每个步骤的输出作为下一个步骤的输入,适用于顺序性较强的任务。
  • 条件模式:根据特定的条件,选择性地执行不同的模块操作。这个模式能够处理具有分支或选择性的任务。
  • 分支模式:与条件模式类似,但它更多地用于任务中涉及多个并行处理路径的场景。
  • 循环模式:当某些操作需要重复执行时,循环模式便会派上用场。它适合那些需要反复处理相似任务的应用。

通过这些模式的结合,RAG系统不仅能够高效地处理多样化的任务需求,还可以在面对复杂任务时保持灵活性与扩展性。

1、 线性模式

RAG系统 中,线性模式 是最简单且最常见的工作流模式。其核心流程包括几个主要模块:预检索(Pre-Retrieval)检索后检索(Post-Retrieval)生成模块。这些模块按顺序依次进行处理,如图示。值得注意的是,当预检索和检索后处理模块缺失时,线性模式会简化为一种称为 朴素检索增强生成(Naive RAG) 的基本范式,仅包含检索和生成过程。

为了提升生成的质量,常见的线性RAG流通过以下几个步骤优化:

  • 预检索阶段:这一阶段引入了查询变换模块,通常采用查询重写或者隐式文档扩展(HyDE)等操作符。通过这些变换,查询能够更好地适应检索需求,提高检索的相关性。
  • 检索阶段:在这一阶段,系统通过检索工具(如BM25)从外部知识库中获取与重写后的查询高度相关的文档或上下文信息。
  • 后检索阶段:检索结果进一步优化,通常通过排序模块对检索的结果进行调整,使得最终选出的文档最能满足生成需求。
  • 生成模块:最终,通过生成模型(例如GPT或T5等)处理优化后的文档上下文,产生高质量的回答或生成内容。

一个典型的线性RAG流模式是:“重写-检索-阅读(Rewrite-Retrieve-Read,RRR)”方法。该方法在预检索阶段引入了一个查询重写模块。这个模块基于 T5-large 模型的微调版本,并通过强化学习框架进行优化,将查询重写过程建模为 马尔可夫决策过程(MDP)

在这个过程中,查询重写模块的输出质量被视为奖励信号,强化学习算法通过策略梯度方法来调整和优化生成的查询,从而确保查询更符合检索任务的需求。这种方式提升了检索的效率,并进一步改善了生成结果的效果。

在检索阶段,RRR方法使用了稀疏编码模型(如BM25)进行检索,从外部知识库中获取与重写后的查询相关的文档,进一步增强了系统生成内容的准确性和可靠性。

通过这样的设计,线性模式的RAG流不仅提高了生成质量,还能在实际应用中实现高效的知识提取和生成。

2、 条件模式

条件模式 是一种灵活的 RAG流模式,其核心特点是在不同的条件下选择不同的工作流,以便针对特定场景进行优化。这种模式的关键在于一个 路由模块(Routing Module),该模块根据输入问题的特性动态选择接下来的处理流程,如下图所示。

具体来说,当系统接收到不同类型的问题时,它会根据预设的条件或规则决定如何处理。例如,对于涉及严肃议题、政治话题或娱乐内容等不同类型的问题,系统会自动切换到不同的处理流程。这种动态路由机制显著提升了系统处理多样化任务的能力,使得系统能够灵活应对各种复杂场景。

条件模式的分支流 主要体现在以下几个方面:

  • 检索来源:系统会根据问题的性质选择不同的检索来源。例如,对于严肃问题,系统可能会选择更可靠的、权威性的来源,而对于娱乐性问题,则可能选择更多元或创意性的资料。
  • 流程选择:针对不同任务的需求,条件模式可能会调整流程的细节,控制模块的顺序、执行的操作,甚至是否进行一些后处理。
  • 模型配置:不同类型的问题可能需要不同的模型配置。比如,严肃问题可能使用更精确、保守的模型,而娱乐类问题则可能使用更具创意性和生成自由度的模型。
  • 提示设计:根据任务的性质,系统的提示设计(Prompt Design)也会有所不同。对于严肃问题,提示可能会更为规范和严格,而对于娱乐类问题,提示可能会更具开放性和灵活性。

举个例子,对于严肃性较高的问题(如法律、健康、政治等),系统可能会选择更加可靠的检索来源,并对生成的内容设置严格的约束,确保信息的准确性和权威性。而对于娱乐类的问题(如电影、游戏、搞笑等),系统则可以容忍更多的创意和不拘一格的生成,提供富有娱乐性和趣味性的回答。

通过这种方式,条件模式 能够根据任务的需求动态调整 RAG 各个组件,确保生成的回答既符合场景需求,又保持高相关性和准确性。这种灵活性使得 条件模式 在处理多样化、复杂性高的任务时具有显著的优势,能够有效提升系统的适应能力和输出质量。

3 、分支模式

分支模式RAG(Retrieval-Augmented Generation) 系统中一种增加结果多样性和鲁棒性的重要设计方式。它通过并行运行多个分支,来生成多样化的结果,从而提升系统的性能和准确性。

具体来说,分支模式 在某个模块中生成多个并行的分支,每个分支可以独立执行相同或不同的 RAG流程。这些分支通常由多个处理模块组成,每个模块生成各自的结果。然后,这些分支的结果会通过一个 聚合函数 合并成一个中间输出结果。值得注意的是,合并后的结果不一定意味着流程的结束,它们还可以传递到后续模块(如验证模块)进行进一步处理。整体流程从生成多个分支、独立处理、到结果聚合,形成了一个完整的流水线。

条件模式不同,分支模式 的特点在于同时并行运行多个分支,而不是从多个选项中选择一个分支。这使得分支模式能够同时从多个角度进行处理,生成更加丰富和多样化的结果。

分支模式的结构类型

根据任务需求,分支模式 可以设计为不同的结构,通常分为两种类型:

  • 预检索分支模式(Pre-Retrieval Branching)
    这种模式通过生成多个子查询并并行检索,旨在提高检索的全面性和生成结果的多样性。具体流程是,首先通过查询扩展模块将初始查询扩展为多个子查询。每个子查询然后通过检索模块获取相关文档,形成文档集合。这些文档和相应的子查询一同送入生成模块,产生多个答案集合。最终,所有生成的答案通过融合模块进行整合,形成最终的结果。

    这种模式的优势在于,它能够从多个角度挖掘潜在信息,增强生成结果的覆盖度和准确性。它特别适用于需要广泛搜索和多角度生成的任务。

  • 后检索分支模式(Post-Retrieval Branching)
    该模式从单一查询开始,首先通过检索模块获取多个文档块。然后,每个文档块被独立送入生成模块进行处理,生成对应的结果集合。这些结果最终会通过合并模块整合,形成最终输出。

    与预检索分支模式不同,后检索分支模式的特点在于,它通过单一查询进行检索,而并行生成则集中在对不同文档块的独立处理上。这个模式非常适合那些需要从同一查询结果中挖掘多角度信息的场景,能更好地利用检索到的内容,提升生成结果的多样性和质量。

分支模式的优势

通过并行执行多个分支,分支模式能够从多个角度生成和整合信息,极大地提升了系统的生成能力和结果质量。它特别适合于处理复杂场景和多任务需求,可以为不同的应用场景提供更加多样和精准的答案。因此,分支模式在 多任务处理复杂场景 中具有显著的优势。

4、 循环模式

循环模式RAG(Retrieval-Augmented Generation) 系统中一种重要的设计方式,其核心特点是检索与生成步骤之间的相互依赖性。通过引入一个 调度模块 来控制流程,循环模式确保系统可以根据任务需求在不同模块之间重复执行某些操作。这使得循环模式可以不断优化流程中的步骤,提升任务的最终效果。

循环模式的基本原理

循环模式可以抽象为一个 有向图,图中的节点代表系统中的各个模块,边则表示模块之间的控制流或数据流。当某个模块的输出能够返回到之前的模块时,系统就形成了一个 循环结构。这样的设计让系统可以根据需要在某些步骤之间来回循环,以不断优化结果,直到达到理想的效果。

判断模块

在循环模式中,判断模块(Judge Module) 起到了关键作用。它用于决定系统是否需要返回到前一个模块,或者是否继续向下执行。例如,在每一次生成或检索之后,判断模块可以根据当前的输出结果、历史数据、查询和检索到的文档来决定是否继续迭代。如果决定返回,流程就会进行循环;如果决定不返回,流程则继续向前执行。这样,系统能够根据当前任务的情况动态调整整个流程。

循环模式的类型

循环模式可以进一步细分为三种类型:迭代型循环模式递归型循环模式自适应型(主动型)循环模式。每种模式都适用于不同的场景,提供了灵活的处理方式。

  1. 迭代型循环模式
    迭代型循环模式通过多次执行检索和生成操作,在每次迭代中逐步优化结果。如下图所示,在每一步迭代中,系统根据当前的查询和之前的输出结果来检索相关文档,然后使用这些文档生成新的输出。迭代过程通常会设置一个 最大迭代次数的限制,以避免出现无限循环。在每次迭代后,判断模块会根据当前的生成结果、历史输出、查询和检索到的文档来决定是否继续迭代。迭代型模式非常适合那些需要逐步收集信息并动态调整的任务,能够逐渐完善对复杂问题的回答。

  2. 递归型循环模式
    递归型循环模式则是一种具有明显依赖性和层次性的检索方式,如图所示。每一步操作都依赖于前一步的输出,并通过不断深化检索过程,逐步获取更深入的信息。递归型模式通常遵循类似 树状结构 的模式,每次检索会基于改写后的查询进一步展开,以精确定位所需的知识。递归型检索具有明确的 退出机制,以确保在达到终止条件时流程停止,从而避免无限递归。此模式适用于需要分步推理或逐层分析的任务,能够深入挖掘相关信息并生成高质量的回答。

  3. 自适应型(主动型)循环模式
    自适应型循环模式是一种超越传统被动检索的方式,得益于大语言模型强大的能力。如图9.16所示,自适应型模式的核心思想是通过智能体的方式动态调整检索流程,主动决定何时进行检索,何时终止流程并生成最终结果。这种模式与传统的固定流程不同,具有更高的 灵活性智能性。它能够实时根据任务的需求调整策略,判断最佳的执行路径。自适应型检索通常通过两种方法来进一步细分:一是 基于提示 的方法,通过设计动态提示来引导模型的检索;二是 基于指令微调 的方法,通过微调模型来实现更精准的检索控制。自适应型模式特别适用于复杂任务或动态信息需求的场景,能够提升检索效率和生成质量。

循环模式的优势

通过引入循环结构,循环模式 能够让系统在检索与生成的过程中不断优化,逐步提升任务的完成效果。无论是 迭代型 的逐步改进,还是 递归型 的深度推理,或是 自适应型 的智能控制,循环模式都为 RAG 系统提供了强大的灵活性和处理能力,能够在面对复杂问题时进行更精确的调整和优化,从而提升生成结果的质量和准确性。

如何学习大模型 AI ?

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

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

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

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

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

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

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

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

在这里插入图片描述

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

在这里插入图片描述

在这里插入图片描述

大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

img


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

在这里插入图片描述

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

img

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

img

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

img

适用人群

在这里插入图片描述

第一阶段(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%免费

https://img-blog.csdnimg.cn/img_convert/05840567e2912bcdcdda7b15cba33d93.jpeg

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐