下面这张流程图非常清晰地展示了 RAG(检索增强生成) 系统的完整生命周期:

按照图中划分的三个主要区域(右侧的索引、中间/底部的检索、左侧的生成),我们可以把它看作一个“图书馆管理员”的工作流程。

下面我结合图中的每一个环节为您详细讲解:


第一阶段:索引 (Indexing) —— “把书读薄,存入大脑”

(对应图中右侧红色虚线框区域)

这一步是知识准备阶段,发生在用户提问之前。目的是把人类的知识变成机器能理解并快速查找的形式。

  1. 知识库文档 (Knowledge Base Docs)

    • 这是源头,包含各种形式的资料,如纸质书(OCR扫描后)、电子文档(PDF, Word)等。

  2. 读取与切片 (Read & Slice)

    • 文档 -> 切片:LLM 一次处理的长度有限,而且我们只需要找最相关的段落。所以系统会将长文档切割成一个个小的**“文档块” (Chunks)**。

  3. 嵌入器 (Embedder)与向量化

    • 核心步骤:图中的“嵌入器”把这些文字块转换成数学向量(一串数字)。这就好比把“苹果”这个词转换成了坐标 [0.1, 0.8, ...]

  4. 存入向量数据库 (Store in Vector DB)

    • 这些转化好的向量被存入中间圆柱形的**“向量数据库”**。此时,数据库里存的不是文字,而是代表这些文字含义的“坐标”。


第二阶段:检索 (Retrieval) —— “按图索骥,寻找线索”

(对应图中中间及底部的青色虚线框区域)

这一步发生在用户提问时。目的是找出和问题最相关的知识。

  1. 用户问题输入

    • 用户提出了一个问题(User Input)。

  2. 问题向量化 (Vectorize Question)

    • 注意图中有一条线指向了“嵌入器”。系统必须用同一个嵌入模型把用户的问题也变成向量。因为只有向量对向量,才能计算距离。

  3. 相似性搜索 (Similarity Search)

    • 系统拿着“问题的向量”,去“向量数据库”里比对。

    • 原理:计算距离。离得越近,代表含义越相似。

  4. 找到 TopK 个相关答案

    • 数据库返回最相似的 K 个片段(比如最相关的3段话)。这些就是能够回答用户问题的“参考资料”。


第三阶段:生成 (Generation) —— “开卷考试,精准作答”

(对应图中左侧橙色虚线框区域)

这一步是组装答案的过程,也是 RAG 的最终目的。图中非常直观地展示了“有RAG”和“无RAG”的区别。

  1. 组装 Prompt (Prompt Assembly)

    • 图中下方的方框写着:“结合用户问题 + 相关答案,组装成 Prompt”

    • 系统会生成一段话给 AI:“请根据以下参考资料 [TopK的内容] 回答用户的问题 [用户的问题]。”

  2. 输送给 LLM 大模型

    • 这个组装好的超级提示词被送入 LLM。

  3. 结果对比(图中的关键对比点)

    • 路径 A(没有使用 RAG): 直接把用户问题扔给 LLM。

      • 结果:图中显示 “出现回复幻觉”。因为模型不知道你的私有数据,只能瞎编。

    • 路径 B(使用 RAG): 把“问题+参考资料”一起扔给 LLM。

      • 结果:图中显示 “获得有效的回复”。AI 基于事实依据进行了总结和回答。

总结图中的核心逻辑

这张图最精髓的地方在于中间那个圆柱体——向量数据库

  • 它左边连着用户的查询

  • 它右边连着知识库的存储

  • 它是连接“用户需求”和“私有知识”的桥梁,通过向量化(Embedder)让两者在数学空间中相遇,最后由 LLM 完成漂亮的各种语言输出。

更多推荐