导语
在搭建私有知识库、落地文档问答类大模型应用时,RAG 是解决模型知识滞后、回答内容不可溯源问题的核心方案。不少开发者可以依托开源项目快速完成环境部署与功能调试,但对于整条技术链路背后的设计逻辑、核心组件的运行原理缺少系统性认知。
本文将顺着「文档处理→向量化存储→提问检索→模型生成回答」完整流程,逐层拆解向量、嵌入、向量检索等关键技术细节,结合工程落地场景展开讲解,帮你理清 RAG 整套架构的设计思路与底层逻辑。
一、RAG 标准工作流程:6 步走完知识库问答
先明确行业最通用的 RAG 完整执行链路,这也是后续所有知识点的依托:
- 原始文档切分,拆分成独立文本块;
- 调用嵌入模型,把每一段文本块转化为向量;
- 将向量、原文内容、自定义元数据一同存入向量数据库,并构建检索索引;
- 用户输入问题,对问题同样执行向量化处理;
- 在向量数据库中检索相似度最高的 Top5 文本片段;
- 把检索到的参考内容和用户问题整合进提示词,交给大语言模型生成最终回答。
不少初学者会产生第一个疑问:文档需要切分,那用户的提问语句,是否也需要分块处理?
正常场景下完全不需要。
知识库原始文档动辄上万字,一份 PDF、手册包含多个不同主题,而且会超出嵌入模型单次输入的字符上限,如果直接整体向量化,语义混杂会导致后续检索完全跑偏,因此必须设置固定长度 + 上下文重叠的规则拆分,避免关键信息被生硬截断。
但用户提问大多是单句短文本,只承载单一查询意图,直接整段向量化即可。
只有一种特殊情况需要对问题做拆分:用户粘贴上千字长文本当作提问,此时文本语义繁杂且超出模型输入限制,可以简单均分分段多路检索,无需像文档分块一样设置重叠区间。
二、核心概念:嵌入向量,到底是什么?
整条 RAG 链路最核心的环节就是「向量化」,也就是常说的嵌入(Embedding)。
很多人疑惑:嵌入模型给几百 token 的文本只输出一条向量,可生成式大模型明明会给每一个 token 单独生成编码向量,二者差异从何而来?
- 两种模型编码逻辑的本质区别
大语言模型(GPT、Llama、通义千问这类生成模型)输入文本后,确实会为每一个 token 生成独立的词嵌入向量,再经过多层 Transformer 注意力机制,让每个字词融合全文上下文信息。
但生成模型的目标是逐字预测下一个词语从Token到MoE:一文读懂Transformer大模型完整技术链路,它只会依托最后一位 token 的信息完成续写,不会主动把一整段文本的所有向量合并压缩。
而专门的嵌入模型,训练目标就是用单一向量概括整段文字的整体语义,因此必须通过聚合计算,把一长串 token 对应的多条向量,压缩合并成固定维度的单条向量,存入向量库用于相似度匹配。
- 三种主流向量聚合方式
文本经过模型编码后会输出一组序列向量,想要浓缩为一条可用的嵌入向量,工业界主要有三种成熟方案:
(1)CLS 头输出
仅适用于 BERT、BGE 这类编码器架构模型,这类文本开头会强制插入一个特殊[CLS]标记,直接截取该标记对应的向量作为全文表征。
优点是计算速度最快;缺点是向量极易偏向文本前半段内容,段落末尾关键信息容易丢失,更适合短文本分类,不推荐用于知识库长文本切片嵌入。
(2)最后一层均值池化
RAG 文档入库的首选方案,剔除无意义填充占位 token 后,对所有有效字词向量做平均值计算。
全文前后内容权重均衡,不会遗漏首尾关键信息,泛用性最强,也是绝大多数开源嵌入模型的默认配置。
(3)末尾 Token 取值
适配 GPT、Llama 等纯解码器生成式模型。这类模型采用单向注意力,末尾 token 可以看见全部上文信息,因此直接取序列最后一个有效 token 向量作为文本嵌入即可,多用于临时把大模型改造为检索编码工具。
- 为什么取名叫「嵌入」?
嵌入的英文原词 Embedding,本意就是镶嵌、置入。
文字、图片、音频这些原始数据只是离散的符号,不存在可以计算距离的坐标系;嵌入本质是搭建一个映射规则,把所有非结构化数据,统一放进同一个高维实数向量空间里,语义相近的内容会落在空间相邻坐标,这条代表坐标的向量,就被称作嵌入向量。
它和普通编码、特征提取不能完全划等号:普通编码只做格式转换,而嵌入强约束「内容相似→空间位置相近」,具备可度量的几何关系,这也是它能用来做相似度检索的根本原因。
三、嵌入不只有文本句向量:盘点全品类嵌入类型
日常 RAG 里用到的段落嵌入、基础词嵌入,只是嵌入技术的一小部分,按照使用场景与数据类型,可以分为几大类别:
- 文本细分嵌入
静态词嵌入(Word2Vec)无法区分多义词;上下文词嵌入会根据语境生成差异化字词向量;稀疏嵌入(SPLADE、BM25)和稠密向量互补,擅长关键词精准召回;除此之外还有代码嵌入、多语言嵌入、对话历史专属嵌入,分别适配代码知识库、跨境文档、多轮聊天场景。
- 跨模态嵌入
打破纯文本限制,图片、音频、视频都可以转为向量。最经典的 CLIP 图文联合嵌入,能让文字和图片处在同一个向量空间,实现文搜图、图搜文;声纹嵌入只提取说话人音色,用来身份核验;视频嵌入融合画面与时序信息,常用于侵权查重与内容推荐。
- 结构化数据嵌入
针对知识图谱拓扑结构的图嵌入、实体关系嵌入,可完成图谱问答与关系推理;表格、数据库行数据也能整体向量化,适配结构化资料检索。
- 工程优化类嵌入
为适配海量向量存储而生,包含量化压缩向量、二值向量、多向量 ColBERT 嵌入、套娃分层嵌入,在存储成本、检索速度、召回精度之间做取舍优化。
四、向量数据库的灵魂:ANN 近似最近邻算法
如果把所有向量直接存进 MySQL 这类传统数据库,用户查询时需要逐条计算和库内全部向量的相似度,百万级数据单次查询就要耗时数秒乃至分钟,完全无法支撑线上业务。
向量数据库能够做到毫秒级检索,核心依靠ANN 近似最近邻搜索。
- 精确检索与近似检索的取舍
精准遍历全量向量比对距离,叫做 NN 精确最近邻搜索,结果百分百准确,但数据量大时算力开销完全不可接受。
ANN 全称近似最近邻,核心思路是不遍历全部数据,只在大概率包含相似向量的小范围数据中查找,主动舍弃极小一部分检索精度,换取检索效率数十倍提升,在业务可接受的误差范围内实现极速查询。
- 三大主流 ANN 索引方案
(1)IVF 倒排聚类索引
先通过聚类把海量向量分成多个桶,入库时向量归入对应聚类;查询时只打开少量最匹配的聚类桶做内部比对。搭配标量量化压缩后内存占用极低,适合亿级超大向量库。缺点是新增数据需要重新聚类,动态更新能力一般。
(2)HNSW 层次化小世界图索引
目前线上 RAG 最主流的索引结构,搭建多层网状拓扑,上层稀疏节点用于快速导航跳转,下层稠密节点存储全部向量。查询时从顶层逐步下沉跳转定位相似向量,检索速度、召回精度、增量插入能力综合最优,唯一短板是构建索引会占用更多内存存储网络连接关系。
(3)LSH 局部敏感哈希
设计特殊哈希函数,让相近向量大概率落入同一个哈希桶,只在桶内检索。更适合超大规模冷数据场景,整体精度弱于前两种方案,现在很少作为向量数据库主力索引。
五、最后一步:提示词约束,杜绝大模型凭空编造
向量库检索出 Top5 相关文本片段后,不能直接丢给大模型回答问题。
大语言模型本身具备强大的生成能力,如果不加限制,即便参考资料里没有对应内容,它也会凭借训练数据自行编造答案,也就是常说的「幻觉」。
标准做法是拼接强约束提示词,固定规则:回答必须严格依托给出的参考上下文;无相关资料则直接告知未查询到内容,禁止自由拓展创作;同时标注每一段内容对应的文档来源,方便溯源核对。
将约束指令、参考片段、用户问题三者整合输入大模型,最终输出严谨、有据可依的回答,这才是 RAG 闭环的最后一步。
结语
从文档分段拆分的设计初衷,到嵌入向量背后的数学映射逻辑,再到向量数据库高速检索依托的 ANN 核心算法,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时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~