RAG 完整流程分几步?

article
2026年7月21日1 min read106 words

Updated 2026年7月21日

RAG 完整流程分几步?

解析、分块、向量化、检索、生成,五步讲透全链路

原题:请完整讲一遍 RAG 系统从拿到原始文档到生成最终答案的全流程:一共分几步?每一步分别在做什么、起什么作用?

RAG基础

30 秒回答

  1. 全流程五大步:文档解析 → 分块 → 向量化 → 检索 → 生成
  2. 前三步是离线建库:把原始文档加工成可检索的知识库,提前做好
  3. 后两步是在线问答:用户提问时实时执行,检索资料再生成答案
  4. 分块是最容易被忽视却影响最大的一步:块太大噪声多,块太小语义被切断

回答与解析

答案要点

  • 全流程五大步:文档解析 → 分块 → 向量化 → 检索 → 生成

  • 前三步是离线建库:把原始文档加工成可检索的知识库,提前做好

  • 后两步是在线问答:用户提问时实时执行,检索资料再生成答案

  • 分块是最容易被忽视却影响最大的一步:块太大噪声多,块太小语义被切断

  • 排查 RAG 效果差的问题,就按这条链路逐步定位是哪一环丢了分

核心概念

RAG 流程是指把原始文档加工成可检索的知识库,并在用户提问时检索相关内容、交给大模型生成答案的完整链路,通常分为解析、分块、向量化、检索、生成五步。前三步离线完成,后两步在线执行。

五步详解

  1. 文档解析:把 PDF、Word、网页等各种格式的原始文档,转换成干净的纯文本。作用是“去壳取肉”——去掉页眉页脚、乱码、排版噪声,只留下有用内容。解析得脏,后面全部遭殃。

  2. 分块(Chunking):把长文本切成一段段大小合适的“知识块”。因为检索是按块进行的,块的边界决定了模型将来“看到”的资料长什么样。常按段落、标题层级切,并让相邻块有少量重叠,避免语义被拦腰切断。

  3. 向量化(Embedding):用嵌入模型把每个文本块变成一串数字(向量)。它的神奇之处在于:意思相近的文本,向量在空间中的位置也相近。所有向量存入向量数据库,相当于给知识库建好了“按语义查找”的索引。

  4. 检索:用户提问时,把问题也用同一个模型向量化,然后在向量数据库里找出与问题最相似的 Top-K 个知识块。这一步决定了模型“开卷考试”时翻到的是不是正确的那几页书。

  5. 生成:把用户问题和检索到的知识块,按提示词模板拼在一起交给大模型,要求它“根据给定资料回答”,输出的答案就是用户最终看到的结果。

一句口诀帮助记忆:解析洗数据,分块定粒度,向量建索引,检索找资料,生成出答案。前三步做得好不好,直接决定后两步的上限。

入门之后,可以往检索优化方向深入:重排(Rerank)、混合检索(关键词 + 向量)、查询改写,以及不同分块策略的对比实验。

口语版讲法(约2分钟)

  • RAG本质是给大模型建一个外部知识库
  • 离线建库:解析、分块、向量化
  • 在线问答:检索、生成
  • 落地风险:分块粒度与检索质量

这道题其实是在问,怎么给大模型配一个外部知识库,让它能像开卷考试一样回答问题。完整流程分两大阶段:离线把文档加工成可检索的知识库,在线实时检索并生成答案。具体我拆成五步来说。

先说离线。第一步是文档解析,把PDF、Word这些乱七八糟的格式转成干净文本,去掉页眉页脚和乱码。这一步做不干净,后面全白费。第二步是分块,这是最容易被忽视但影响最大的。块太大噪声多,块太小语义被切断。比如一个客服退款政策文档,按标题层级切块,相邻块留点重叠,这样模型检索时看到的才是完整的一句话。第三步是向量化,用 Embedding 模型把每个文本块转成向量,意思相近的文本在向量空间里也挨得近,然后全存进 Vector Database。

在线阶段就两步。用户提问时,先把问题也向量化,去向量数据库里找最相似的Top-K个块,这一步决定了模型翻到的是不是正确的那几页书。最后把问题和检索到的资料拼成提示词交给大模型,让它根据给定资料回答。

这里有个关键点:分块策略不是一刀切的。固定长度切分简单,但容易切断语义;语义切分效果好但成本高。真正落地我倾向混合策略,比如先用段落标题做粗切,再对长段落做滑动窗口重叠。另外,如果检索质量上不去,别急着调模型,先检查分块和向量化。常见失败场景是,一个复杂问题只检索到部分相关块,答案自然偏。这时候可以加 Rerank 做二次排序,或者用混合检索把关键词和向量结合起来。

所以我会把RAG看成一套系统工程,离线建库的质量决定了在线效果的上限。上线前我会特别关注分块粒度的对比实验,还有检索的召回率,确保每个环节不掉链子。

如果让我进一步优化,我会考虑查询改写,比如用户问“怎么退款”,系统先把它改写成“退款流程和条件”,再去检索,能明显提升召回率。

关键一句:查询改写能提升检索召回率

面试官还可能这样问

  1. 问法 1 · 场景切入给你 500 份公司产品手册 PDF,要做一个问答机器人。从拿到这堆 PDF 到用户能问出答案,你会按什么顺序做?哪一步你会花最多时间?
  2. 问法 2 · 追问边界如果上线后用户反馈“答案经常驴唇不对马嘴”,你怎么判断问题出在五步中的哪一步?每一步分别用什么办法验证它没出错?