【大模型】RAG&向量数据库
下面这张流程图非常清晰地展示了 RAG(检索增强生成) 系统的完整生命周期:

按照图中划分的三个主要区域(右侧的索引、中间/底部的检索、左侧的生成),我们可以把它看作一个“图书馆管理员”的工作流程。
下面我结合图中的每一个环节为您详细讲解:
第一阶段:索引 (Indexing) —— “把书读薄,存入大脑”
(对应图中右侧红色虚线框区域)
这一步是知识准备阶段,发生在用户提问之前。目的是把人类的知识变成机器能理解并快速查找的形式。
-
知识库文档 (Knowledge Base Docs):
-
这是源头,包含各种形式的资料,如纸质书(OCR扫描后)、电子文档(PDF, Word)等。
-
-
读取与切片 (Read & Slice):
-
文档 -> 切片:LLM 一次处理的长度有限,而且我们只需要找最相关的段落。所以系统会将长文档切割成一个个小的**“文档块” (Chunks)**。
-
-
嵌入器 (Embedder)与向量化:
-
核心步骤:图中的“嵌入器”把这些文字块转换成数学向量(一串数字)。这就好比把“苹果”这个词转换成了坐标
[0.1, 0.8, ...]。
-
-
存入向量数据库 (Store in Vector DB):
-
这些转化好的向量被存入中间圆柱形的**“向量数据库”**。此时,数据库里存的不是文字,而是代表这些文字含义的“坐标”。
-
第二阶段:检索 (Retrieval) —— “按图索骥,寻找线索”
(对应图中中间及底部的青色虚线框区域)
这一步发生在用户提问时。目的是找出和问题最相关的知识。
-
用户问题输入:
-
用户提出了一个问题(User Input)。
-
-
问题向量化 (Vectorize Question):
-
注意图中有一条线指向了“嵌入器”。系统必须用同一个嵌入模型把用户的问题也变成向量。因为只有向量对向量,才能计算距离。
-
-
相似性搜索 (Similarity Search):
-
系统拿着“问题的向量”,去“向量数据库”里比对。
-
原理:计算距离。离得越近,代表含义越相似。
-
-
找到 TopK 个相关答案:
-
数据库返回最相似的 K 个片段(比如最相关的3段话)。这些就是能够回答用户问题的“参考资料”。
-
第三阶段:生成 (Generation) —— “开卷考试,精准作答”
(对应图中左侧橙色虚线框区域)
这一步是组装答案的过程,也是 RAG 的最终目的。图中非常直观地展示了“有RAG”和“无RAG”的区别。
-
组装 Prompt (Prompt Assembly):
-
图中下方的方框写着:“结合用户问题 + 相关答案,组装成 Prompt”。
-
系统会生成一段话给 AI:“请根据以下参考资料 [TopK的内容] 回答用户的问题 [用户的问题]。”
-
-
输送给 LLM 大模型:
-
这个组装好的超级提示词被送入 LLM。
-
-
结果对比(图中的关键对比点):
-
路径 A(没有使用 RAG): 直接把用户问题扔给 LLM。
-
结果:图中显示 “出现回复幻觉”。因为模型不知道你的私有数据,只能瞎编。
-
-
路径 B(使用 RAG): 把“问题+参考资料”一起扔给 LLM。
-
结果:图中显示 “获得有效的回复”。AI 基于事实依据进行了总结和回答。
-
-
总结图中的核心逻辑
这张图最精髓的地方在于中间那个圆柱体——向量数据库。
-
它左边连着用户的查询。
-
它右边连着知识库的存储。
-
它是连接“用户需求”和“私有知识”的桥梁,通过向量化(Embedder)让两者在数学空间中相遇,最后由 LLM 完成漂亮的各种语言输出。
更多推荐
所有评论(0)