Naive RAG 、Advanced RAG、Modular RAG、 Graph RAG、Agentic RAG的定义与使用场景和案例说明
关于如何在AI时代建立知识库,欢迎听KMCenter的“AI时代知识库搭建与运营在线课程”,除了方法论讲述,还有相关模板、案例、示例共享和一对一辅导,感兴趣联系微信号:511956894
以下为正文:
Naive RAG (基础检索增强生成)
是最简单的 RAG(Retrieval-Augmented Generation)形式,通过将用户查询与外部知识库中的文档进行匹配,检索相关内容后直接输入到生成模型(如大语言模型,LLM)中生成答案。
它通常包括基本的向量搜索和简单的上下文拼接。检索和生成步骤较为独立,缺乏复杂的预处理或后处理。依赖简单的语义搜索(例如基于余弦相似度的向量检索)。上下文处理能力有限,可能导致无关或冗余信息被纳入生成。
- 场景: 用户在教育平台上提问:“Python 的 print 函数是什么?”
- 过程: 系统通过向量搜索检索 Python 官方文档,找到相关片段(如“print() 用于输出到控制台”),直接输入 LLM 生成答案:“print() 函数用于将指定内容输出到控制台。”
- 特点:适合简单任务,成本低但功能有限。
Advanced RAG (高级检索增强生成)
在 Naive RAG 的基础上引入了优化技术,如查询重写、上下文压缩、结果重排等,以提高检索精度和生成质量。包含预处理步骤(如查询扩展、语义增强)以优化检索。使用后处理技术(如重排、过滤)去除无关信息。可能结合多模态数据(如图像、表格)或多轮交互。
- 场景: 用户查询:“2025 年最新的个人所得税政策是什么?”
- 过程: 系统先对查询进行重写(如“2025 personal income tax policy changes”),检索最新法规文档,过滤无关条款,重排结果后输入 LLM 生成简洁总结。
- 特点:提升精度,适合需要高质量答案的场景。
Modular RAG (模块化检索增强生成)
将 RAG 流程分解为多个可独立配置的模块(如检索模块、预处理模块、生成模块等),允许灵活组合和定制以适应不同任务。模块化设计,各个组件(如检索器、生成器)可以独立优化或替换。支持动态调整流程,例如根据任务选择不同的检索策略或生成模型。强调可扩展性和复用性。
- 场景: 企业需要一个支持多语言、多模态(文本+表格)的内部知识库问答系统。
- 过程: 系统配置多语言检索模块、表格解析模块和生成模块,动态选择适合的检索器(如中文文档用 BM25,英文用向量搜索),生成多模态答案。
- 特点:提供灵活性,适合定制化需求。
Graph RAG (图谱检索增强生成)
利用知识图谱(Knowledge Graph)作为外部知识库,通过图结构存储实体和关系,结合图遍历或查询来增强检索和生成。利用图结构捕捉实体、属性和关系之间的复杂关联。支持多跳推理(multi-hop reasoning),适合需要深入语义理解的任务。检索结果更具结构化,生成答案更具逻辑性和连贯性。
- 场景: 用户提问:“特斯拉的创始人是谁,与 SpaceX 的关系是什么?”
- 过程: 系统查询知识图谱,找到“埃隆·马斯克”作为特斯拉创始人,遍历图谱发现其与 SpaceX 的“创始人”关系,生成答案:“埃隆·马斯克是特斯拉和 SpaceX 的创始人,两家公司由他共同创立。”
- 特点:擅长复杂关系推理,适合结构化知识场景。
Agentic RAG (代理式检索增强生成)
引入智能代理(Agent)机制,使系统能够根据任务动态规划、执行多步检索和生成,甚至与外部工具交互(如调用 API、执行代码)。强调自主性和交互性,代理可以根据上下文动态调整检索和生成策略。支持多轮交互、工具调用和复杂任务分解。结合了 LLM 的推理能力和外部资源(如数据库、搜索引擎)。
- 场景: 用户要求:“分析某股票近一个月的趋势并预测未来一周。”
- 过程: 代理分解任务:1) 调用金融 API 获取股票数据;2) 检索相关新闻和财报;3) 结合数据和新闻生成趋势分析;4) 使用预测模型生成未来一周的预测。最终输出详细报告。
- 特点:面向动态、复杂任务,具备高度自主性。