RAG 的端到端流程可以拆成 三阶段:检索 → 增强 → 生成,加上前置的知识库构建(Ingest),共四个环节。

整体流程

[知识库构建 Ingest]  →  [检索 Retrieval]  →  [增强 Augment]  →  [生成 Generation]
   离线/异步               在线触发              拼装 Prompt          LLM 输出

1. 知识库构建(Ingest,离线)

把原始资料(PDF、Word、网页、数据库记录…)转化为可被检索的向量索引。

典型步骤:

  • 加载:从源头读取文档
  • 切分(Chunking):把长文档切成语义连贯的片段
  • 向量化(Embedding):用 Embedding 模型把每个 chunk 转成向量
  • 入库:写入向量数据库(如 FAISS、Milvus、PGVector)

这是 RAG 体系里最重要的一环 —— 检索质量 90% 取决于知识库质量

2. 检索(Retrieval,在线)

用户提问到来时:

  • Query 向量化:把用户问题转成向量
  • Semantic Search(语义检索):在向量库里做相似度匹配,取 Top-K 相关 chunks
  • 可选:结合关键词检索(BM25)做混合检索,提升召回

注意:检索并非必须每次触发,模型自身的 Memory / 上下文也可以直接走生成阶段,RAG 是"按需查资料"。

3. 增强(Augment / Prepares the Prompt)

把检索到的 chunks 拼装进 Prompt,常见结构:

[System 指令:基于以下资料作答,未提及不要编造]
[Context:检索到的 chunks 原文]
[User Question:原始问题]

这一步是工程上最需要打磨的:拼装顺序、token 预算、引用格式、冲突信息处理,都会显著影响最终效果。

4. 生成(Generation)

LLM 基于增强后的 Prompt 输出回答(Reliable Answer)。理想状态下,回答应该:

  • 有据可查:每个事实点能追溯到检索片段
  • 不外推:知识库没说的不胡编
  • 可引用:附上来源标注,便于用户验证

关键架构图(课程口径)

              ┌──────────────┐
Question  →   │  Retrieval   │  ←  Storage / Retrieved Chunks
              │  (Optional)  │
              └──────┬───────┘
                     ↓
                  Prompt   ←   Memory
                     ↓
                    LLM
                     ↓
                  Answer

细粒度视角:10 Pipeline(Day7/8 课程口径)

把上面的四阶段拆得更细,工业落地里通常分离线 6 Pipeline + 在线 4 Pipeline,共 10 步。

总览图

[ 离线 Offline ] 知识库构建(一次性 + 增量更新)
原始资料 → 数据采集 → 文档解析 → 数据清洗 → 文本分割 → 文本向量化 → 向量索引构建 → 向量库

[ 在线 Online ] 检索生成(每次用户提问触发)
用户 Query → Query 向量化 → 向量检索 → 上下文组装 → 生成 → 答案
                              ↑(从离线向量库取 Top-K)

离线 6 Pipeline

# Pipeline 作用 对应概念页
1 数据采集 圈定知识边界,按所有权三分法采集原始资料 RAG数据采集
2 文档解析 把"非机器可读格式"转成"可编辑、可处理文本" RAG文档解析
3 数据清洗 删除冗余、改写内容、标准化格式、过滤敏感信息 RAG数据清洗与文本分割
4 文本分割 切成语义完整、长度适配模型的 chunk RAG数据清洗与文本分割
5 文本向量化 用 embedding 模型把 chunk 映射成向量 RAG向量化与索引
6 向量索引构建 建立可高效检索的索引结构 RAG向量化与索引

在线 4 Pipeline

# Pipeline 作用 对应概念页
1 Query 向量化 把"人话"翻译成机器懂的数学坐标 Query增强与改写
2 向量检索 多路召回 + 合并去重 + 重排序漏斗 RAG检索-组装-生成
3 上下文组装 加载 Prompt 模板 + 整理 chunks + 注入关键指令 RAG检索-组装-生成
4 生成 模型选型 + 参数设置 + 流式输出 + 后处理 RAG检索-组装-生成

与四阶段视角的对照

四阶段(Day6) 对应的 10 Pipeline
知识库构建 Ingest 离线 Pipeline 1-6
检索 Retrieval 在线 Pipeline 1-2
增强 Augment 在线 Pipeline 3
生成 Generation 在线 Pipeline 4

核心理解

  • 离线是一次性投入:决定知识库的边界、保真度和检索上限,质量越高线上 badcase 越少。
  • 在线是每次都跑:决定单次响应的延迟和成本,重排序漏斗和模型路由是降本核心。
  • 离线和在线靠"同一个 Embedding 模型"对齐:Query 必须用与离线分块完全一致的 embedding 模型向量化,否则距离不可比。

PM 怎么用 / 何时用

  • 排查 badcase 时,用四阶段/10 Pipeline 定位问题出在哪一环(离线知识库质量 vs 在线检索/组装/生成),再分派对应方向。
  • 做成本与延迟评估时,记住"离线一次性投入、在线每次都跑"——降本优先盯在线的重排序漏斗和模型路由。
  • 评审技术方案时,确认离线分块与在线 Query 用同一个 Embedding 模型,否则检索距离不可比。

相关页面

RAG数据采集RAG文档解析RAG数据清洗与文本分割RAG向量化与索引Query增强与改写RAG检索-组装-生成AI工程集成AIPM课程 Day6AIPM课程 Day7AIPM课程 Day8