Navie RAG
Naive RAG,也叫基础 RAG,是最基础、最标准的 RAG 实现方式。它完整的体现了“检索 + 生成”的核心思想,没有加入复杂的优化策略。整个流程简单、直观,是体验 RAG 工作机制的最佳实践。
Advanced RAG
Advanced RAG (进阶型RAG)是在 Naive RAG 基础上发展而来的增强版本。它通过引入混合检索与各种优化策略,使RAG的召回准确率更高、回答更稳定。它也是目前大部分企业中生产环境用的最多的一种RAG范式。 下面列举了一些常见的增强优化手段,包括: - 混合检索(Hybrid Retrieval):结合关键词检索(BM25/ES)与向量相似度检索,提升精确度; - 重排序(Re-ranking):对召回结果进行语义相关性评分再重排序,过滤噪声文档,实现“精筛选”; - 上下文压缩(Context Compression):对长文本进行摘要或关键信息提取,降低模型上下文的压力; - 多轮记忆(Conversation Memory):支持多轮对话,让模型理解上下文语义; - 问题重写(Query Rewriting):用户的问题无法预测,我们需要挖掘用户问题的深层次含义,就需要对用户的原始Query进行重写,将原始问题改写成语义更完整、信息更丰富的检索条件进行查询。 总而言之,Advanced RAG是让RAG从“能用”变为“好用”的关键阶段。
Modular RAG
Modular RAG(模块化 RAG)是目前较新的工程化形态,它强调将 RAG 流程中的各个组件(如查询重写、检索、重排序、上下文融合、生成等)解耦为可独立配置、替换和组合的模块,从而提升系统的灵活性、可维护性和性能。 它将 RAG 的各个阶段(检索、重排、压缩、生成等)模块化封装,通过配置或编排进行灵活组合,从而实现更高的可维护性与跨任务复用能力。相比于Naive RAG的“单流程”,以及Advanced RAG的“多优化”,Modular RAG更强调系统的可扩展性、灵活性与可维护性。 在这种架构中,RAG可能会被划分为多个模块,如: - 查询转换模块(Query Transformation Module):对原始查询进行改写、扩展或分解。 - 检索模块(Retrieval Module):负责从知识库或外部源中检索候选内容;支持多种检索策略(向量检索、关键词检索、混合检索等)。 - 重排序模块(Re-ranking Module):基于语义相关性或上下文权重对候选结果进行再排序; - 上下文构建模块(Context Builder):负责筛选、拼接、压缩检索结果,为模型提供最优上下文; - 生成模块(Generation Module):由大模型执行答案生成; - 后处理模块(Post-processing Module):对生成结果进行事实校验、格式优化或引用标注; - 路由模块(Routing Module):根据任务类型动态选择不同模块组合。 这种模块化设计让RAG系统具备“积木式”的可组合能力。可以针对不同任务自由选择和组装模块。例如: - 在安全情报场景下,可增加时效性筛选模块; - 在法律或医疗场景中,可接入事实校验模块或引用验证模块; - 在长文档处理场景,可加入上下文压缩模块。 Modular RAG的优势在于: - 每个模块都可以单独优化或升级,而无需重构整个系统,实现持续迭代与灵活扩展。 - 模块间通过标准化接口进行数据交互,职责边界明确,便于多人协作开发与版本管理。 - 支持多源异构数据源(如联网数据、知识图谱、API等等)、动态路由与复杂逻辑组合; - 强大的灵活性,根据不同的任务目标,自由组合,即可构建定制化的 RAG 流程。 总之,Modular RAG 让 RAG 从“好用”走向“可扩展”。它代表了企业级、系统化RAG应用的未来方向。 我们在后续课程中,会对 Advanced RAG和Modular RAG都有重点讲解。