大模型 | RAG是什么?RAG的不同类型和区别

RAG,全称检索增强生成(Retrieval-Augmented Generation),作为当前AI应用中常见的辅助方法,有效提升了LLM输出的准确性和可靠性。但总有人戏言,RAG不过是“把文档丢进Dify”这么简单,真的吗?

关于RAG的技术流程,网上已经有非常多高质量的文章介绍,因此笔者想从RAG的技术发展角度来写这篇文章,从最基本的RAG到当前热门的Graph RAG、Agentic RAG,介绍RAG的不同类型和区别,希望大家能够从文中受益。

一、RAG是什么

介绍RAG前,先介绍大语言模型(LLM)面临的两个问题,一是LLM的知识截止,二是LLM存在幻觉现象。

1.1 知识截止

LLM训练不是实时的,而是离线训练好的。在训练过程中,使用的数据都是提前准备的,而且大多数是公开、开源的数据,这就导致了LLM训练后具备的知识是有范围的。换句话说,模型知识仅限于训练数据所涵盖的知识范围,对于新的知识(比如今天的新闻)或未训练的知识(比如未公开的数据),模型本身不具备这些知识,仅具备推理能力。

1.2 幻觉现象

幻觉现象有多种维度的解释。一方面,LLM是一个条件概率模型,以前文作为条件的词表概率逐词生成文本,这一机制导致其可能出现看似逻辑严谨(概率高)但其实缺乏事实依据的生成,也就是“一本正经地胡说八道”。另一方面,LLM的训练过程,是对训练数据的知识进行压缩提炼的过程,但不是无损压缩知识,边缘知识容易在主流知识冲击下出现扭曲,导致产生了幻觉。

打个比方,LLM好比一个多年备战的考生,当他在做试题的时候,遇到他从没学过的新学科知识点时,就无从下笔知识截止);当他遇到他没掌握牢固的知识点时,就凭借模糊的记忆或真或假地编了个答案幻觉现象)。

1.3 RAG

图片

而RAG就是一种能够有效幻觉模型知识截止和幻觉现象的方法。RAG是检索增强生成(Retrieval-Augmented Generation)的缩写。检索增强生成,是指对大语言模型(LLM)输入进行优化,使其能够在生成响应之前引用训练数据来源之外的知识,作为回答的根据。这是一种经济高效地改进LLM输出的方法,让LLM保持相关性、准确性和实用性。

RAG系统有两个最主要的组成部分:

  • 检索(Retrieval):查询外部数据源,例如知识库、向量数据库或者网页搜索API。常见的检索方法有全文检索、向量检索、图检索等。
  • 生成(Generation):将检索信息提供给LLM,生成回答。

对于大模型这个考生来说,RAG就像参考书或者“第二个大脑”,让模型遇到没学过或者学不牢的知识点时可以翻一翻书找参考资料,提高回答问题的准确性。

二、RAG的发展

从近年RAG的发展历程看,RAG主要经历了Naive RAG、Advanced RAG、Modular RAG、Graph RAG,以及最近热门的Agentic RAG 几种类型的发展。

  • Naive RAG是RAG最基础的实现。
  • Advanced RAG是在Naive RAG的基础上,对检索前、检索、检索后分别进行优化。
  • Modular RAG代表了主流RAG的工程化实现。
  • Graph RAG利用图检索能力,让RAG增强multi-hop检索和丰富上下文。
  • Agentic RAG利用Agent能力,让RAG有了智能化的思考分析,大大增强了检索能力。

2.1 Naive RAG

Naive RAG是RAG系统的最基本实现,使用单一的全文检索或向量检索,从文档集合中检索出与query相关的文档,直接将检索的文档用于增强LLM的生成。

Naive RAG具有几个局限性:

  • 缺乏语义理解:全文匹配依赖词汇匹配,无法捕捉到query与文档之间的语义关联;向量检索受限于间接匹配,语义理解能力也不足。
  • 输出效果差:由于缺乏对query、文档的高级预处理、后处理,召回的文档容易包含过多或过少信息,导致最终生成的回答过于宽泛。
  • 效果优化困难:系统过于依赖单一检索技术,未对query、文档进行增强,导致优化局限于检索技术。

图片

2.2 Advanced RAG

Advanced RAG在Naive RAG的基础上,对检索前、检索、检索后三个阶段进行改进。

在检索前阶段,增强文档质量,比如优化章节结构、增强标题等,过滤低质量信息;优化索引结构,优化chunk size使得context粒度符合应用场景的需求;优化索引信息,对chunk进行提取、增强,作为embedding文本;对用户query的进行rewriting。

在检索阶段,使用域内知识对embedding进行fine-tune,或使用llm-based embedding模型,生成对上下文理解更准确的语义向量。

在检索后阶段,增加reranking提高检索文档的相关性,增加context-compression使提供给模型的信息更加集中。

图片

2.3 Modular RAG

Modular RAG是当前主流的RAG系统设计,将检索和生成分解为独立可复用的组件,从而实现特定域的优化和任务适应性。Modular RAG将RAG系统所使用到的多种检索、存储、路由等等全部模块化,并且可以根据特定的场景,对这些模块进行重新排列,如多种检索方式的混合检索等,以取得更好的效果。

图片

2.4 Graph RAG

Graph RAG使用图结构来扩展传统的RAG系统,利用图的关系和层级结构,增强multi-hop推理和 context 丰富度。Graph RAG可以生成的结果更丰富更准确,特别是对于需要关系理解的任务。

Graph RAG具备以下局限性:

  • 高质量图数据依赖:高质量的图数据对Graph RAG非常关键,如果处理出高质量的图数据有时很困难,特别是对于无结构的纯文本或标注质量不高的数据。
  • 应用的复杂性:对于一个RAG系统,同时支持非结构化数据和图数据的混合检索,会增加检索系统设计和实现的复杂性。

图片

2.5 Agentic RAG

与前面的静态RAG不同,Agentic RAG使用能够动态决策和工具调用的 LLM-based agent,来解决更加复杂、实时和多域的查询。

得助于LLM-based的工具调用能力,Agentic RAG能够使用更多更复杂的工具来辅助检索,比如搜索引擎、计算器等各类以API形式能够访问的工具。另外Agentic RAG可以根据实际的检索场景动态决策,比如决定是否进行检索、决定使用什么工具检索、评估检索到的上下文决定是否需要继续检索等等。

图片

三、总结

在这里插入图片描述

从RAG近年来的发展的来,未来 RAG 的发展有几个方向:

  • 智能化:随着LLM应用的发展,功能越来越复杂,对RAG的要求也会越来越高。Agentic RAG是这个方向的开始,未来更加智能的RAG才能成为 LLM 的“好搭档”。
  • 数据多元化:Graph RAG让RAG有了图检索的能力,但是如何将普通文本、图数据,以及其他类型的数据比如代码、图片等等多元化的数据,兼容到一个统一的RAG系统里进行索引、检索、排序,未来复杂LLM应用将会对这个能力提出挑战。

如何系统学习掌握AI大模型?

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享

在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 2024行业报告

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

在这里插入图片描述

5. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

6. 大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

在这里插入图片描述