RAG 全流程图解
在人工智能领域,检索增强生成(Retrieval-Augmented Generation,简称 RAG) 已经成为构建高效 AI 系统的核心技术之一。RAG 将大语言模型(LLM)的生成能力与外部知识检索相结合,让 AI 能够"基于事实"回答问题,而不是凭空编造。
本文将通过一系列精心设计的图解,系统性地拆解 RAG 的完整流程,帮助你从零到一掌握这项技术。无论你是 AI 初学者还是有一定基础的开发者,都能从中获得有价值的见解。

📊 RAG 核心流程概览
在深入了解每个环节之前,让我们先对 RAG 的整体架构建立一个宏观认知:
┌────────────────────────────┐
│ RAG 全流程概览 │
├────────────────────────────┤
│ │
│ Query(用户提问) │
│ ↓ │
│ ① 输入与预处理 │
│ ↓ │
│ ② Embedding 与索引准备 │
│ ↓ │
│ ③ 向量库召回(Retrieval) │
│ ↓ │
│ ④ 重排(Rerank) │
│ ↓ │
│ ⑤ Prompt 构造 │
│ ↓ │
│ ⑥ 生成(Generation) │
│ ↓ │
│ ⑦ 回答决策(可选) │
│ ↓ │
│ 最终答案 │
│ │
└────────────────────────────┘
图解说明:这是一张手绘风格的 RAG 全流程拆解图,采用米黄色背景,清晰展示了从用户提问到最终生成答案的完整链路。流程可概括为四个核心关键词:Query(查询)→ 检索 → 重排 → 生成。
第一步:输入与预处理(Query)
🎯 什么是 Query?
Query 是用户向系统提出的问题或请求。在 RAG 流程中,Query 是整个过程的起点。一个好的 Query 预处理能够显著提升最终答案的质量。
📝 Query 处理的三个关键步骤
根据图解,Query 输入与预处理包含三个主要阶段:
阶段 1:接收 Query + 上下文/约束(可选)
核心目标:明确用户的真实意图,补全必要的约束条件。
图解图示:
┌────────────────┐
│ 📄 用户原始输入:"接口又挂了" │
│ │
│ 🔍 拆解为明确问题: │
│ • 哪个接口? │
│ • 什么时间? │
│ • 什么症状? │
│ • 查哪个版本? │
│ │
│ ✅ 最终输出:明确条件 │
└─────────────────┘
类比理解:就像你去图书馆借书,你不能只说"我要找本书",而需要说"我要找2024年出版的关于Python编程的书"。
阶段 2:Query 规整(常见)
核心目标:将"聊天式表达"转化为"检索式表达",减少模糊性。
处理流水线:
原始输入:"我今天发现那个谁的说的一个奇怪的问题"
↓
[去噪] → [纠错] → [同义改写] → [关键实体抽取]
↓
最终结果:
关键词 [接口A, 失败],条件 (时间: 今天)
阶段 3:澄清与拆分(可选)
核心目标:当 Query 过宽或前提不明时,先追问或拆分为可检索的子问题。
示例:
用户输入:"修复方案"
↓
拆分为三个子问题:
1️⃣ 根因分析
2️⃣ 修复方案
3️⃣ 验证测试
💡 Query 预处理的重要性
核心原则:好问题才有好答案。如果 Query 本身模糊不清,后续无论检索多精准,都无法给出令人满意的答案。
第二步:Embedding 与索引准备
🔮 什么是 Embedding?
Embedding(嵌入)是将文本转换为数值向量的过程。在向量空间中,语义相似的文本会具有相近的向量表示,从而可以通过向量相似度来衡量文本间的语义关系。
📦 知识库准备的三个阶段
根据图解,这一阶段分为三个主要部分:
阶段 1:切片 + 元数据(离线常见)
核心动作:将文档拆分成带标签的小片段
图解说明:
┌─────────────────────────────────┐
│ 原始文档(卷轴状) │
│ ↓ │
│ ┌────┐ ┌────┐ ┌────┐ ┌────┐ │
│ │片段1│ │片段2│ │片段3│ │片段N│ ... │
│ └────┘ └────┘ └────┘ └────┘ │
│ 标题 标题 标题 标题 │
│ 时间 时间 时间 时间 │
│ │
│ 类比:把一本书拆成带页码的活页 │
└─────────────────────────────────┘
目的:检索时有"抓手",方便追溯来源
阶段 2:向量化 + 建索引(离线常见)
核心动作:每个片段生成一枚"语义指纹",写入向量索引
图解说明:
┌───────────────────────────┐
│ 片段 → [向量模型] → 向量 │
│ ↓ │
│ ┌─────────────┐ │
│ │ 🔵🟠🟡 │ │
│ │ 🔵🟡🔵🟠🟡 │ ← 节点网络(向量空间) │
│ │ 🟠🔵🟡🟠🔵 │ │
│ └─────────────┘ │
│ │
│ 标注:"指纹录入" │
└───────────────────────────┘
阶段 3:Query 向量化 + 对齐检查(在线)
核心动作:用户提问实时转换为向量,并与检索空间对齐
类比:把"我要找什么"投射到同一张地图上,确保坐标系一致
第三步:向量库召回(Retrieval)
🎣 什么是召回?
召回是从海量的向量数据库中,快速捞出与用户问题相关的候选片段。这是 RAG 流程中的"打捞"环节。
🔍 召回的三个关键阶段
阶段 1:近邻检索 + 规模控制
目的:从海量内容里快速缩小范围
Top-N 选择:
· ·
· · ·
· [Query] · ← 中心:查询向量
· · · ·
· · ·
┊
↓
╭─────────────╮
│ 虚线圆圈 │
│ Top-N 候选 │
╰─────────────╯
类比:先把可能相关的书搬到桌面
阶段 2:过滤与约束(常见)
过滤条件:
- 🔐 权限
- ⏰ 时间
- 📊 数据源
- 📁 文件类型
类比:借书要看你有没有权限进特藏室
阶段 3:多路召回(可选)
核心思想:语义检索 + 关键词检索互补
| 召回方式 | 擅长领域 |
|---|---|
| 语义检索 | “意思对”(语义理解) |
| 关键词检索 | “字面精确”(关键词匹配) |
流程:
语义匹配片段 + 关键词片段 + 结构化片段
↓
合并去重
↓
最终候选集
第四步:重排(Rerank)
🏆 重排的核心价值
核心目标:把"看起来相关"变成"真正能用来回答"
重排是将召回的候选片段进行精细化排序,挑出最优质的 Top-K 证据片段。
📋 重排的三个步骤
步骤 1:精细相关性判断
流程:
Top-N 候选(粗筛成果)
↓
逐本翻目录打分
↓
Top-K 排序证据
↓
桌面筛书
类比:桌面上先粗筛一摞书,再逐本翻目录挑最对题的几本
步骤 2:覆盖检查
核心:确保片段覆盖 Query 的关键实体
示例:
Query: "2025年报销规则?"
✅ 有效片段:命中 2025年、报销规则、差旅/餐饮 等关键实体
❌ 无效片段:只有"报销流程概述",没有具体年份和规则
步骤 3:多目标重排(可选)
多维评估指标:
| 指标 | 说明 |
|---|---|
| 📌 相关性 | 与Query的匹配程度 |
| 🔄 多样性 | 不同来源、视角的覆盖 |
| 🕐 新鲜度 | 内容的时效性 |
| ✅ 权威性 | 来源的可信度 |
类比:海选 → 面试筛选,最终选出"对的人"
第五步:Prompt 构造
🎨 什么是 Prompt?
Prompt 是给大模型的"指令",告诉模型如何基于检索到的证据回答用户问题。
📝 Prompt 构造的三阶段
阶段 1:证据清洗与裁剪
核心要点:去重复、去无关、保留必要上下文
类比:就像登机箱容量有限,得把最有用的东西装进去
证据流(文、数据)
↓
[漏斗过滤] 去重复、去无关
↓
模型上下文窗口
阶段 2:证据组织 + 标注
核心要点:按主题/子问题拼装片段,附上来源、时间、标题
类比:把资料按主题贴到白板上,给每条证据贴上"出自哪本书第几页"的标签
┌──────────────────────────┐
│ 📋 白板便签系统 │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ 绿标 黄标 粉标 │
│ │ 每条 标题 时间 │
│ └─────┘ └─────┘ └─────┘ │
└──────────────────────────┘
阶段 3:指令与输出约束
组成部分:
- 🎯 回答目标
- 📐 输出格式
- 📚 引用方式
- 🚫 拒答条件
类比:给写作任务列一个清晰的大纲与评分标准
第六步:生成(Generation)
✍️ 生成的三个阶段
阶段 1:模型阅读证据
核心比喻:通读资料再动笔
原因:避免凭空发挥,确保回答有根有据
Query与证据包 → 芯片处理 → Query与证据对齐 → 形成"能回答"的内部表征
图解人物:蓝色短发、戴眼镜的卡通人物,手拿文件夹认真研读
阶段 2:组织答案
核心比喻:写论文引用
原因:让答案可验证,增强可信度和权威性
内部表征 → 组织工厂 → 按问题结构输出答案
↓
关键结论对齐证据
阶段 3:输出控制(可选)
输出控制面板:
- 📏 格式
- 📏 长度
- 🗣️ 语气
- 📊 引用密度
- ⚠️ 不确定性提示
输出选项:
- 简练版本
- 严谨版本
第七步:回答决策(进阶)
🤔 回答决策的核心问题
核心原则:在"能生成"之外,决定"是否该生成"
这往往是容易被忽视但至关重要的一个环节。
阶段 1:证据充足性判断
核心:当证据不足或冲突时,选择拒答、追问或提示不确定
资料库房机器人检查证据
↓
有依据 → 生成答案
无依据 → 拒答/追问
类比:资料没找到,最好先承认缺口而不是乱写
阶段 2:触发二次检索
核心:首轮命中率低时,改写 Query 或拆分子问题再检索
书店A没找到 → 换店B // 换关键词再找
阶段 3:结构化输出约束
核心:按固定结构(结论/依据/风险)输出
工程级优化:检索侧
🚀 三大优化方向
1. Chunking(分块)优化
问题:随便撕页会丢失上下文,出现"中间遗失"
解决方案:
- 按章节结构做索引 (Contextual Retrieval Chunk)
- Late Chunking 技术
类比:按章节拆书,保留上下文关联
2. 检索策略优化
策略:向量召回 + 关键词 → 混合检索 → 多轮检索
类比:先用地图找附近,再用门牌号精准定位
3. Rerank 重要性上升
核心:从"相似"到"可回答",成为效果上限的关键阀门
工程级优化:系统侧
🛠️ 两大系统方向
1. 缓存与复用
缓存类型:
- Query/embedding 结果缓存
- 热门片段缓存
- LLM 批处理
类比:常用资料做成工具包,下次直接取用
流程:
Query → Query Embedding (缓存命中) → Retrieval → 热门片段缓存
↓ ↓
Re-ranking ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
↓
Generating (LLM批处理)
2. 可观测与评估
三大支柱:
| 类型 | 内容 |
|---|---|
| 离线评测 | Test lab 测试集评测,Recall、Faithfulness 指标 |
| 在线监控 | Latency、Cost 实时监控 |
| 失败用例闭环 | 失败用例库 → 系统优化复盘 |
核心理念:告别"感觉还行"拍脑袋,实现可度量地变好
RAG 全流程总结
┌────────────────────────────┐
│ RAG 完整流程图 │
├────────────────────────────┤
│ │
│ ┌─────────┐ │
│ │ 用户Query │ ← 起点 │
│ └────┬────┘ │
│ ↓ │
│ ① 输入与预处理 │
│ ↓ │
│ ② Embedding 与索引准备 │
│ ↓ │
│ ③ 向量库召回 → 候选片段 │
│ ↓ │
│ ④ 重排 → Top-K 证据 │
│ ↓ │
│ ⑤ Prompt 构造 → 证据包 │
│ ↓ │
│ ⑥ 生成 → 答案 │
│ ↓ │
│ ⑦ 回答决策 → 最终输出 │
│ │
└────────────────────────────┘
关键技术要点汇总
| 概念 | 解释 |
|---|---|
| RoPE | 旋转位置编码 |
| KV Cache | 键值缓存,加速推理 |
| ANN | 近似最近邻搜索 |
| Multi-Head Attention | 多头注意力机制 |
| Context Window | 模型上下文窗口限制 |
| 幻觉 | 模型凭空生成错误信息 |
实用建议
💡 开发建议
- Query 预处理不可省略:好的 Query 是好答案的前提
- Chunking 需要精心设计:考虑按语义章节切分,而非简单字数切分
- 多路召回效果更好:语义 + 关键词双重保障
- Rerank 是关键阀门:不要在重排上节省资源
- Prompt 需要迭代优化:根据实际效果持续调整
⚠️ 常见陷阱
- 忽略 Query 预处理:导致检索效率低下
- Chunking 过于粗暴:丢失关键上下文
- 只依赖向量检索:忽视关键词召回的价值
- 跳过回答决策:容易产生幻觉和误导
- 缺乏评估闭环:无法持续优化
结语
RAG 作为连接大模型与外部知识的桥梁,其重要性日益凸显。通过本文的图解拆解,希望你对 RAG 的每个环节有了更清晰的认识。
记住,一个优秀的 RAG 系统不仅仅是把各个模块拼凑在一起,更需要在每个环节都精心打磨,形成高效协同的整体。
持续优化、注重评估、拥抱迭代——这是构建生产级 RAG 系统的关键。









学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)