资讯详情

资讯详情

Embedding 与混合检索:RAG 的语义检索链路

一、开篇RAG 检索链路是什么检索增强生成RAG要让大模型回答前先从资料库中找到相关内容。这条链路的基石是Embedding 向量与向量检索再配合关键词检索与融合排序构成完整的召回链路。二、Embedding嵌入2.1 什么是 EmbeddingEmbedding嵌入把人类可读的文本、词语通过 Embedding 模型映射成一串固定维度的浮点数向量。文本是人理解的向量是计算机可以做数学计算的表达。例如一句话输出 1024 维向量就是 1024 个小数组成的数组。2.2 文本怎么变成固定维度向量流程为输入文本经过分词转为模型认识的 token 序列 → 送入预训练好的 Embedding 模型 → 模型经过多层神经网络计算对整段文本做聚合池化→ 输出固定长度的浮点数向量。关键点不管输入是 5 个字还是一大段文字输出向量维度不变例如 768、1024 维。长文本不是向量变长而是内部做聚合压缩信息到固定维度空间。2.3 为什么语义相似的文本向量空间距离更近根源来自 Embedding 模型的训练目标。训练时构造正样本语义相近的句子与负样本语义无关的句子损失函数约束语义相近→向量距离尽量小、语义差别大→向量距离尽量拉大。模型在海量文本上学习词语、句子之间的语义关联把语义关系编码到向量每一维数值里面。训练收敛后即形成该特性“猫喜欢吃鱼”与“猫咪爱吃鱼”语义接近向量距离很小“猫喜欢吃鱼”与“汽车跑在马路上”语义无关向量距离很大。向量每一维数字没有单独的人类可读含义是整体空间体现语义相似度常用余弦相似度衡量。2.4 Embedding 在 RAG 中的作用文档切片全部转为 embedding 向量存入向量库用户 query 也转成同维度向量做向量相似度检索召回语义匹配的文档片段。2.5 局限语义相近不等于字面关键词相同会出现语义相似但关键词完全不一样的召回也会出现字面相近语义不一样的情况。对歧义、多义词处理有限。embedding 质量高度依赖训练数据和模型本身。三、向量检索、ANN、HNSW3.1 向量检索是什么RAG 中文档切片和用户 Query 都被转为固定维度 Embedding 向量。向量检索给定查询向量在海量向量库中找出和它相似度最高距离最近的 Top-N 向量拿到对应的原始文本。相似度常用余弦相似度距离常用欧式距离。3.2 暴力检索精确 KNN的问题遍历库里全部向量逐个计算和查询向量的距离排序取 TopN。结果 100% 准确但数据量大时速度极慢向量百万、千万级别完全不可用。所以生产环境不用 KNN用 ANN 近似最近邻。3.3 ANN 近似最近邻算法ANN 全称 Approximate Nearest Neighbor核心思想是牺牲一小部分召回准确率换取巨大的检索速度提升。不遍历全部数据只搜索一部分候选返回近似最相似结果不需要绝对全局最接近业务上够用即可。主流 ANN 实现包括 HNSW、IVF-FLAT、FAISS-IVF、PQ 乘积量化等工业向量数据库最常用 HNSW。3.4 HNSW 索引基本思想HNSWHierarchical Navigable Small-World分层可导航小世界图核心是分层图结构用多层有向图加速向量查找。多层图结构最上层节点数量很少、稀疏、代表粗粒度往下每一层节点越来越多、图越来越稠密最底层存放全部向量是完整的小世界图。检索流程从最顶层随机节点开始 → 当前层不断找比当前节点更近的邻居贪心前进找不到更近就停止 → 下降到下一层以上层停点做起点继续 → 逐层向下到底层 → 底层收集候选点排序输出 Top-N。上层作用快速跳到目标向量大致所在区域粗定位底层再做精细查找类似坐飞机先到目标城市再打车到具体街道。HNSW 特点查询快、召回好、插入友好但内存开销偏大。参数 ef_construction、ef_search 影响构建速度、检索速度和召回率——ef_search 越大探索邻居越多召回越高、速度越慢。3.5 KNN / ANN / HNSW 三者关系KNN暴力精确搜索全量遍历慢、准。ANN一类算法总称近似搜索以精度换速度。HNSWANN 里的一种具体实现分层图索引向量数据库主流。四、混合检索向量检索 BM254.1 纯向量检索的问题向量检索依靠语义相似度匹配能找到语义相近但字面用词不同的内容但存在明显短板。关键词完全匹配也会漏召回专有名词、编号、人名、设备型号、文档 ID 等要求字面严格命中。向量看整体语义即便关键词完全一致若上下文语义不强向量相似度不一定高会漏掉字面完全匹配的文档。示例搜“订单号 A123456”文档里正好有该订单号但向量模型看整体上下文与 query 语义相似度不高就召回不到。容易出现“语义相似但事实无关”的结果语义上接近但不包含用户要的专有实体产生噪声。总结向量检索擅长语义相似不擅长精确实体、专有名词、关键词字面命中。4.2 BM25 关键词检索是什么BM25 是经典关键词检索算法基于词频、逆文档频率打分看重词是否出现、出现次数、重要程度只做字面关键词匹配不理解语义。优点专有名词、编号、ID、关键词精准命中缺点不理解同义、转述换个说法就搜不到。4.3 为什么做混合检索Hybrid Search向量检索负责语义BM25 关键词检索负责字面实体两者互补。流程用户 query 同时走两路检索 → 向量检索召回语义相似候选、BM25 召回关键词字面匹配候选 → 将两路结果融合加权打分、RRF 倒数排名融合是常用方式合并重排得到候选集合 → 再送入 Rerank 重排序模型做二次过滤提纯。这解决两类问题弥补纯向量检索漏掉专有名词、编号、关键词完全匹配的文档弥补纯关键词检索无法识别同义转述的缺陷。4.4 局限混合检索只是提升召回质量不能保证结果一定正确依然依赖后续 Rerank 做筛选。五、RRF 倒数排名融合5.1 为什么不能直接把两路分数相加向量检索返回余弦相似度/距离值域与分布由 Embedding 模型决定BM25 返回打分值域与分布由词频统计决定。两者分数不在同一个量纲含义完全不一样不能直接相加排序直接相加会导致某一路结果权重被不合理放大。于是用到 RRF 倒数排名融合。5.2 RRF 核心思想抛弃原始分数只使用每条文档在各路返回结果里的排名位置来计算融合分数。公式RRFScore(d) Σ 1 / (rank(d) k)rank(d)文档 d 在某一路检索结果中的排名从 1 开始没有出现在该路结果里则不计入。k平滑常数通常取 60工业常用默认值降低排名靠前和靠后的差距避免第一名权重过大。文档出现在几路就累加几路的得分最后按 RRFScore 从高到低重新排序。示例文档 A 向量第 1、BM25 第 10得分 1/61 1/70文档 B 向量第 3、BM25 第 2得分 1/63 1/62。两路都靠前的文档累加得分更高。5.3 RRF 的优点与缺点优点不需要归一化各路原始分数不关心量纲差异实现简单、效果稳定RAG 混合检索工业最常用天然支持 2 路、3 路多路融合。缺点只看排名丢失原始相似度信息对各路召回候选条数敏感各路召回太少会影响融合质量。5.4 完整链路位置query → 向量检索 BM25 检索 → 两路候选 → RRF 融合得到统一排序列表 → Rerank 重排序 → 取 top-N 上下文 → Prompt 组装。RRF 只是召回阶段的融合输出后还会送入 Rerank 模型做精细打分过滤。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →