简介:本教程系统讲解 RAG(检索增强生成)的核心原理与 16 种主流实现方案,从朴素 RAG 到 Agentic RAG 逐步深入。适合开发者、技术负责人阅读,帮助你掌握各方案的适用场景、配置要点与优化方法,能够根据业务需求选择并落地合适的 RAG 架构。
本教程旨在帮助读者系统理解 RAG(Retrieval-Augmented Generation,检索增强生成)的核心原理,掌握从朴素 RAG 到 Agentic RAG 共 16 种主流实现方案的适用场景、配置要点与工程落地方法。读完本教程后,你将能够:
本教程适合以下读者:具备基础开发经验的开发者、负责 AI 应用落地的技术负责人、需要评估 RAG 方案的企业技术决策者,以及希望深入理解 RAG 面试考点的求职者。
RAG 适用于需要让大模型基于“外部知识”作答的各类场景,典型包括:
当模型自身知识不足、知识更新频繁、或对答案准确性要求较高时,RAG 通常是优先考虑的方案。
在动手实现 RAG 之前,需要具备以下基础条件:
RAG 的核心思想是:在生成答案前,先从外部知识库中检索出与问题相关的内容,再将这些内容作为上下文提供给大模型,从而生成更准确、更可信的回答。
基本流程可概括为:
用户问题 → 检索相关文档 → 拼接上下文 → 大模型生成 → 返回答案
相比纯生成模型,RAG 的优势在于:
下面按由浅入深的顺序,介绍 16 种主流 RAG 方案,并说明各自的适用场景与关键配置。
最基础的实现:文档切分 → 向量化 → 存入向量库 → 检索 Top-K → 拼接生成。
适用场景:知识规模小、问题简单的原型验证。
注意点:切分粒度、Top-K 取值直接影响效果,切分过粗会引入噪声,过细会丢失上下文。
在朴素 RAG 基础上,增加检索前与检索后的优化,如查询改写、重排、上下文压缩。
适用场景:对准确率有较高要求的问答系统。
关键配置:引入重排模型对候选文档二次排序,可显著提升相关性。
将 RAG 拆分为检索、生成、融合等多个可插拔模块,便于灵活组合。
适用场景:需要针对不同业务定制流程的平台型系统。
实施要点:定义清晰模块接口,便于替换检索器或生成器。
结合关键词检索(稀疏)与向量检索(稠密),兼顾精确匹配与语义匹配。
适用场景:包含大量专有名词、编号、缩写的知识库。
配置逻辑:通过权重或融合算法合并两路召回结果。
让模型对原问题生成多个改写查询,分别检索后合并结果。
适用场景:问题表述模糊、单一查询召回不足。
注意点:需控制查询数量,避免延迟过高。
在多查询基础上,使用倒数排序融合等策略对多路结果统一排序。
适用场景:需要综合多角度召回结果的复杂问题。
优势:减少单一查询偏差,提升召回多样性。
在检索后对文档片段进行压缩,仅保留与问题相关的部分。
适用场景:上下文窗口受限、噪声较多的场景。
实施要点:压缩需保留关键信息,避免丢失答案依据。
以小块检索、以大块生成,兼顾检索精度与上下文完整性。
适用场景:文档结构清晰、需要完整段落作为依据。
配置逻辑:子块用于匹配,父块用于喂给模型。
以句子为单位检索,生成时扩展前后若干句作为窗口。
适用场景:答案往往集中在少数句子中的事实型问答。
优势:检索粒度细,上下文可控。
先粗粒度检索文档级,再细粒度检索段落级,逐层缩小范围。
适用场景:大规模知识库、文档数量庞大。
注意点:需设计合理的层次索引结构。
利用实体与关系构建知识图谱,结合图检索增强生成。
适用场景:需要多跳推理、关系型问答。
实施要点:实体抽取与关系构建质量决定效果上限。
模型在生成过程中自我判断是否需要检索、检索结果是否相关、答案是否可靠。
适用场景:对答案质量要求高、允许增加推理开销。
优势:动态决定检索时机,减少无效检索。
对检索结果进行评估,若质量不足则触发重新检索或改写查询。
适用场景:检索结果质量波动较大的开放域问答。
配置逻辑:设定评估阈值,决定是否触发纠正流程。
根据问题复杂度动态选择是否检索、检索几路、走哪条流程。
适用场景:混合了简单与复杂问题的通用问答系统。
优势:在效果与成本之间取得平衡。
以智能体为核心,自主规划检索步骤、调用工具、多轮检索与推理。
适用场景:需要多步推理、跨数据源、动态决策的复杂任务。
实施要点:需定义清晰的工具接口与终止条件,防止无限循环。
多个智能体分工协作,如检索智能体、验证智能体、生成智能体协同完成回答。
适用场景:超复杂任务、需要多角色协作的场景。
注意点:通信开销与协调逻辑复杂度较高,需谨慎设计。
下面以通用流程为例,说明如何从零搭建一个基础 RAG 系统。
将不同格式的文档统一转为纯文本,去除页眉页脚、乱码与无关内容。目的是保证后续切分与向量化质量。
按语义或固定长度切分为片段,常见策略包括按段落、按标题、滑动窗口等。切分长度需结合模型上下文窗口与检索精度权衡。
调用向量化服务将片段转为向量,并写入向量存储组件。需同时保存原文与元数据,便于后续引用与过滤。
将用户问题向量化,检索 Top-K 相关片段。可结合关键词检索做混合召回。
对召回结果进行重排,筛除低相关片段,必要时压缩上下文。
将筛选后的上下文与问题拼接为提示词,调用大模型生成答案,并要求附带引用来源。
返回答案及引用,同时记录检索与生成日志,便于后续分析与优化。
判断 RAG 系统是否达标,可从以下维度验证:
本教程从 RAG 的基本原理出发,系统梳理了从朴素 RAG 到多智能体 RAG 的 16 种方案,并给出了搭建基础 RAG 系统的完整步骤、配置要点、验证方法与优化建议。核心结论是:没有万能的 RAG 方案,只有与业务场景匹配的架构。建议从朴素 RAG 起步,逐步引入重排、混合检索、自适应与智能体等能力,在效果与成本之间找到平衡点。后续可继续关注检索质量评估、上下文压缩与多模态 RAG 等方向。