一文详解RAG技术的五大范式及其工程实践
一文详解RAG技术的五大范式及其工程实践
RAG(Retrieval-Augmented Generation)技术自2021年出现以来,经过多轮范式迭代,已经从最初的简单形态发展成为越来越复杂和完善的技术体系。尤其是在2024年,随着大语言模型(LLMs)的广泛应用,RAG技术迎来了爆发式增长,全年产生了超过一千篇相关论文。本文将系统梳理RAG技术的发展脉络,重点介绍其五大范式,并总结工程应用中的常见工具和挑战。
一、综述与关键论文
1.1 三篇关键综述
- [1] Zhao et al., 2024: 这篇综述详细介绍了RAG的三个基本范式:朴素RAG、高级RAG和模块化RAG。
- [2] Gao et al., 2024: 这篇综述对RAG技术进行了全面的回顾,是目前最全面的RAG综述之一。
- [3] Fan et al., 2024: 这篇综述重点探讨了RAG与LLMs的结合,提出了检索增强大语言模型(RA-LLMs)的概念。
1.2 发展历程
RAG技术的发展历程可以分为以下几个阶段:
- 2021年:RAG技术首次出现,主要用于LLMs的预训练阶段。
- 2022年:随着ChatGPT的发布,用于推理阶段的RAG方法迅速发展,形成了NaiveRAG、AdvancedRAG和ModularRAG三种范式。
- 2023年:微软开源的GraphRAG开启了第四种范式,融合了知识图谱技术。
- 2024年:AgenticRAG出现,成为前四种范式的集大成者,具有更强的自适应性。
图1:按照主要设计重点、提出时间及影响力(以引用量体现)梳理的检索增强生成(RAG)和检索增强大语言模型(RA - LLMs)方法。
图2:RAG研究技术树。
1.3 RAG基本概念
为什么需要RAG?
大型语言模型(LLMs)虽然在许多任务上取得了显著成就,但仍然面临着一些局限性,尤其是在特定领域或知识密集型任务中。为了克服这些挑战,RAG通过语义相似性计算从外部知识库中检索相关文档块,从而增强了LLMs的能力。
RAG的起源
RAG技术最早由Lewis等人在2021年提出,他们通过引入检索增强生成(RAG)模型,将预先训练的参数记忆和非参数记忆结合起来用于语言生成。这种方法在多个知识密集型NLP任务中取得了显著效果。
RAG简单流程与总览
RAG的基本流程包括三个主要步骤:索引、检索和生成。索引阶段将文档分割成块并编码成向量;检索阶段根据语义相似度检索相关块;生成阶段将原始问题和检索到的块一起输入LLM,生成最终答案。
图3:应用于问答的RAG过程的代表性实例。
图4:RAG三种范式的比较。
二、RAG技术范式
2.1 高级RAG
高级RAG通过引入具体的改进措施,克服了朴素RAG的局限性。它主要通过检索前和检索后策略来提高检索质量,并通过滑动窗口方法、细粒度分割和元数据整合等技术优化索引过程。
关键论文:
- [5] Jin et al., 2024: 提出了FlashRAG,一个模块化的开源工具包,帮助研究人员在统一框架内复制现有RAG方法和开发新算法。
- [6] Sarmah et al., 2024: 提出了HybridRAG,通过融合知识图谱和向量检索增强生成技术,提高了信息提取的效率和准确性。
图6:FlashRAG工具箱总览。
图7:高级RAG链。
2.2 模块化RAG
模块化RAG通过将复杂的RAG系统分解为独立的模块和专门的操作符,形成高度可重构的框架。它采用了路由、调度和融合机制,支持顺序处理和跨组件的集成端到端训练。
关键论文:
- [7] Gao et al., 2024: 提出了模块化RAG框架,将RAG系统分解为三层架构:L1 Module、L2 Sub-module和L3 Operator。
图8:三种 RAG 范式之间的比较。
2.3 GraphRAG
GraphRAG利用图结构的数据特性,通过实体间的结构信息实现更精确、全面的检索,捕捉关系知识,促进更准确、更能感知上下文的响应。
关键论文:
- [8] Peng et al., 2024: 首次全面概述了GraphRAG方法,将其工作流程正规化为基于图形的索引、图形引导的检索和图形增强的生成。
- [9] Edge et al., 2024: 提出了图RAG方法,通过LLM构建图索引,先从文档中提取实体图,再预生成相关实体的摘要。
图9:GraphRAG流程。
图10:GraphRAG数据流。
2.4 AgenticRAG
AgenticRAG通过将自主人工智能代理嵌入RAG管道,超越了传统RAG系统的限制。这些代理利用代理设计模式动态管理检索策略,迭代完善上下文理解,并调整工作流程以满足复杂任务要求。
关键论文:
- [10] Singh et al., 2025: 对Agentic RAG进行了全面探讨,从代理式RAG的基本原理到关键应用,并讨论了实施策略和面临的挑战。
- [11] Asai et al., 2023: 提出了SELF-RAG,通过自我反思机制来更智能地决定何时进行检索以及如何利用检索到的信息。
图13:AgenticRAG工作流程。
三、工程实践
在工程实践中,选择合适的工具来构建RAG系统至关重要。以下是一些常用的工具和框架:
- RAG框架:推荐使用RAGFlow,它提供了模块化的工具包,便于快速开发和部署RAG系统。
- 文档解析:推荐使用MinerU,它能够高效地解析和处理各种格式的文档。
- 多模态RAG:通过视觉-语言模型(VLMs)直接处理文档图像,保留更多原始信息。
四、RAG落地时需要考虑的问题
在实际应用中,RAG系统可能会遇到以下问题:
- 检索效率低下:需要优化检索算法以减少查询延迟。
- 信息融合困难:需要设计有效的信息融合策略。
- 上下文理解的局限性:需要提高模型对上下文的理解能力。
- 数据偏差和噪声:需要识别并减少数据中的偏差和噪声。
- 答案准确性和可靠性问题:需要验证和提高生成答案的准确性。
- 可扩展性问题:需要确保模型能够处理大规模数据。
- 资源消耗:需要优化模型以减少资源消耗。
- 隐私和安全问题:需要实现隐私保护的数据处理。
参考文献
[1] Zhao P, Zhang H, Yu Q, et al. Retrieval-Augmented Generation for AI-Generated Content: A Survey. arXiv preprint arXiv:2402.19473, 2024.
[2] Gao Y, Xiong Y, Gao X, et al. Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv preprint arXiv:2312.10997, 2024.
[3] Fan W, Ding Y, Ning L, et al. A Survey on RAG Meeting LLMs: Towards Retrieval-Augmented Large Language Models. arXiv preprint arXiv:2405.06211, 2024.
[4] Lewis P, Perez E, Pikcus A, et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv preprint arXiv:2005.11401, 2021.
[5] Jin J, Zhu Y, Yang X, et al. FlashRAG: A Modular Toolkit for Efficient Retrieval-Augmented Generation Research. arXiv preprint arXiv:2405.13576, 2024.
[6] Sarmah B, Hall B, Rao R, et al. HybridRAG: Integrating Knowledge Graphs and Vector Retrieval Augmented Generation for Efficient Information Extraction. arXiv preprint arXiv:2408.04948, 2024.
[7] Gao Y, Xiong Y, Wang M, et al. Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks. arXiv preprint arXiv:2407.21059, 2024.
[8] Peng B, Zhu Y, Liu Y, et al. Graph Retrieval-Augmented Generation: A Survey. arXiv preprint arXiv:2408.08921, 2024.
[9] Edge D, Trinh H, Cheng N, et al. From Local to Global: A Graph RAG Approach to Query-Focused Summarization. arXiv preprint arXiv:2404.16130, 2024.
[10] Singh A, Ehtesham A, Kumar S, et al. Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG. arXiv preprint arXiv:2501.09136, 2025.
[11] Asai A, Wu Z, Wang Y, et al. Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection. arXiv preprint arXiv:2310.11511, 2023.
[12] Yu S, Tang C, Xu B, et al. VisRAG: Vision-based Retrieval-augmented Generation on Multi-modality Documents. arXiv preprint arXiv:2410.10594, 2024.
[13] Faysse M, Sibille H, Wu T, et al. ColPali: Efficient Document Retrieval with Vision Language Models. arXiv preprint arXiv:2407.01449, 2024.
[14] Feng W, Hao C, Zhang Y, et al. AirRAG: Activating Intrinsic Reasoning for Retrieval Augmented Generation via Tree-based Search. arXiv preprint arXiv:2501.10053, 2025.
[15] Fan T, Wang J, Ren X, et al. MiniRAG: Towards Extremely Simple Retrieval-Augmented Generation. arXiv preprint arXiv:2501.06713, 2025.
[16] Han H, Wang Y, Shomer H, et al. Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv preprint arXiv:2501.00309, 2025.
[17] Gupta S, Ranjan R, Singh S N. A Comprehensive Survey of Retrieval-Augmented Generation (RAG): Evolution, Current Landscape and Future Directions. arXiv preprint arXiv:2410.12837, 2024.
[18] Wang X, Wang Z, Gao X, et al. Searching for Best Practices in Retrieval-Augmented Generation. arXiv preprint arXiv:2407.01219, 2024.
[19] Papers with Code - RAG. https://paperswithcode.com/task/rag
[20] Graph Memory. https://docs.mem0.ai/open-source/graph-memory
[21] Oroz T. Comparative Analysis of Retrieval Augmented Generator and Traditional Large Language Models. Data Science.
[22] Infiniflow. 万字长文梳理 2024 年的 RAG. http://mp.weixin.qq.com/s?__biz=MzkyMTU5MDM2MQ==&mid=2247484133&idx=1&sn=196c5c05baa8896555c8f2cab895c681&chksm=c039ee778047e58bc96c44caafb88d17168076736c090a08da93a6f44704a67634c09063da15#rd