RAG 中如何选择 Embedding 模型
RAG 中如何选择 Embedding 模型在 RAGRetrieval-Augmented Generation检索增强生成系统中Embedding 模型负责把文本转换成向量然后通过向量之间的相似度找到与用户问题相关的文档。因此Embedding 模型选得好不好会直接影响 RAG 的召回效果。很多人在选择 Embedding 时只看模型排行榜或者向量维度其实真正需要考虑的是语言、业务领域、向量维度、输入长度以及实际召回效果。一、先搞清楚 Embedding 到底在做什么Embedding 可以简单理解成文本 ↓ Embedding 模型 ↓ 向量例如小猫在吃鱼 ↓ [0.12, -0.35, 0.71, ...]Embedding 的核心不是简单地把文字变成数字而是希望语义相近的文本在向量空间中的距离也比较近。例如小猫在吃鱼 猫咪正在进食鱼肉 汽车在高速公路行驶前两个句子的意思比较接近因此对应向量通常也比较接近第三句话和前两个语义差异较大对应向量距离也会更远。这就是 RAG 中语义检索的基础。Embedding 和关键词检索有什么区别传统关键词检索例如 BM25更关注关键词是否出现。比如用户搜索猫咪吃鱼而文档中写的是小猫正在进食鱼肉两个文本虽然意思接近但关键词并不完全一致单纯依靠关键词检索可能无法很好地匹配。Embedding 则更加关注语义猫咪吃鱼 ≈ 小猫进食鱼肉所以 RAG 通常会使用向量检索。不过 Embedding 也不是万能的。对于产品型号、编号、专业术语、错误代码等内容关键词检索反而可能更准确。因此实际项目中比较常见的方案是用户 Query ↓ ┌──────────────┐ │ 向量语义检索 │ ├──────────────┤ │ BM25关键词检索│ └──────────────┘ ↓ Hybrid Search ↓ Rerank ↓ LLM二、选择 Embedding 主要看这几个指标1. 首先看语言和业务场景这是选择模型最重要的一步。如果主要处理中文知识库那么应该优先考虑中文能力较好的模型例如BGEGTEM3EJina EmbeddingsE5例如中文 RAG 项目中经常使用 BGE 系列bge-small-zh bge-base-zh bge-large-zh但是不要简单理解成中文项目 一定选择 BGE真正应该比较的是你的业务数据上的召回效果。例如通用中文问答 企业内部知识库 医疗文档 法律文档 电力行业文档 机械设备说明书 高校课程资料不同领域的最佳模型可能并不一样。所以模型排行榜只能作为第一轮筛选依据不能直接作为最终选择依据。2. 再看向量维度不同 Embedding 模型输出的向量维度不同。例如BGE-small → 384维 BGE-base → 768维 BGE-large → 1024维维度越高并不意味着一定越好。高维向量通常能够表达更多信息但同时也会带来更高的存储和计算成本。例如有 100 万个 Chunk768维 × 100万和1024维 × 100万后者需要存储更多数据向量索引和检索成本也会增加。因此实际项目中不要为了追求更高维度直接选择大模型。比较合理的思路是先选择一个效果和性能比较平衡的模型 ↓ 跑自己的召回测试 ↓ 效果不够再升级模型而不是维度越高 ↓ 一定越好3. 注意最大输入长度Embedding 模型通常存在最大输入长度限制。例如模型可能只支持512 tokens如果一个 Chunk 远远超过模型支持的长度就需要提前进行文本切分。所以 Embedding 模型实际上会影响 Chunk 的设计。例如原始 PDF ↓ 文本提取 ↓ Chunk 切分 ↓ Embedding如果模型输入长度较短那么 Chunk 就不能无限增大。但也不能认为Embedding 支持的长度越长越好。因为 Chunk 过长以后里面可能包含很多不同主题的信息最终得到的向量可能出现语义稀释。例如Chunk A 介绍产品型号、安装方式、故障代码、售后政策……用户只问这个产品出现 E03 故障怎么办这么大的 Chunk 虽然没有超过模型最大长度但语义已经比较分散。所以 Embedding 模型选择和 Chunk 切分应该一起考虑。三、不要只看排行榜真正应该测试 RecallK这是 Embedding 选型中最容易被忽略的一点。MTEB、C-MTEB 等排行榜可以帮助我们了解模型的大致能力但不能直接说明这个模型放到我的 RAG 项目里一定最好。原因很简单公开测试集 ≠ 你的业务数据假设你正在做一个工业设备知识库。你的数据可能包含设备说明书 维修手册 故障代码 技术参数 操作规程 内部培训资料某个模型在通用中文数据集上排名第一并不代表它一定最擅长理解这些专业内容。所以真正可靠的方法是自己建立一套测试集。例如Query 设备出现 E03 故障应该如何处理 正确文档 设备维修手册-故障处理-第12页然后分别使用不同 Embedding 模型进行召回模型A → Top 5 是否找到正确文档 模型B → Top 5 是否找到正确文档 模型C → Top 5 是否找到正确文档重点关注RecallK例如Recall5 90%可以简单理解为正确资料是否能够进入前 5 个召回结果。对于 RAG 来说这是非常重要的指标。因为正确资料没有被召回 ↓ LLM 根本看不到 ↓ 后面再强也无法凭空找到所以 RAG 的问题很多时候不是模型不会回答而是前面的检索没有把正确资料找出来。四、实际项目中怎么选 Embedding可以按照下面的流程来做。第一步确定业务数据先弄清楚自己的知识库是什么中文 / 英文 / 多语言 通用知识 / 垂直领域 短文本 / 长文档 是否包含大量专业术语 是否包含产品型号、编号、代码第二步筛选 24 个候选模型例如中文 RAG 可以先选择BGE GTE M3E Jina Embeddings不需要一开始测试十几个模型。第三步统一 RAG 参数测试的时候必须保持其他条件一致相同数据 相同 Chunk 相同 Query 相同 Top-K 相同向量数据库 相同相似度算法只替换 Embedding 模型。否则最后无法判断到底是哪一个因素导致结果变化。第四步统计召回效果可以记录模型Recall3Recall5Recall10平均延迟Model A82%89%94%30msModel B85%92%96%45msModel C87%94%97%80ms如果 Model C 的效果只比 Model B 高一点但延迟和资源消耗明显增加那么 Model B 可能更加适合生产环境。所以最终选择不是谁的排行榜最高就用谁。而是在自己的数据上效果、速度、成本综合最合适的模型。五、一些实际项目中的经验1. 不要只依赖向量检索Embedding 对语义搜索非常有效但对于下面这些内容产品型号 错误代码 订单编号 文件编号 版本号 专业缩写关键词搜索往往更加可靠。所以实际 RAG 中经常采用Embedding BM25 Rerank也就是Query ↓ Hybrid Search ↓ 初步召回 ↓ Reranker ↓ 最终 Top-K ↓ LLM2. 不要一开始就追求最大的 Embedding 模型如果项目刚开始可以先使用一个效果和性能比较平衡的模型建立基线。例如先跑通 RAG ↓ 建立测试集 ↓ 统计 RecallK ↓ 发现召回效果不足 ↓ 再换更大的 Embedding这样比一开始就上最大的模型更加合理。3. Chunk 和 Embedding 必须一起调Embedding 选得再好如果 Chunk 切得很差最终召回效果一样可能很差。例如Chunk 太大 → 一个向量包含太多主题 → 语义不集中 Chunk 太小 → 上下文信息不完整 → 检索到的内容缺少上下文所以实际调 RAG 时不应该只调 Embedding。通常应该一起测试Embedding 模型 Chunk 大小 Chunk overlap 检索 Top-K Rerank总结Embedding 模型选择可以简单归纳成四句话第一看语言和业务领域 第二看向量维度和输入长度 第三用自己的数据测试 RecallK 第四结合效果、速度和成本做最终选择完整的 RAG 检索链路可以理解为文档 ↓ Chunk 切分 ↓ Embedding ↓ 向量数据库 ↓ 用户 Query ↓ Query Embedding ↓ 向量检索 / BM25 ↓ Hybrid Search ↓ Rerank ↓ 相关文档 ↓ LLM ↓ 最终答案其中 Embedding 只是整个检索链路的一环。不要把“选择 Embedding 模型”理解成单独选一个模型的问题。真正的目标是让 Query 能够稳定地找到正确的 Chunk。因此对于实际 RAG 项目来说最可靠的选型标准不是模型名字也不是排行榜而是在自己的业务数据上谁能够用更低的成本把正确资料稳定召回谁就是更适合自己的 Embedding 模型。

相关新闻

魔珐星云实战:一个商场导购数字人项目从翻车到可落地的复盘

魔珐星云实战:一个商场导购数字人项目从翻车到可落地的复盘

前言 真正做过商场导购大屏后,我才发现数字人落地最难的不是“像不像人”,而是用户站到屏幕前时,它能不能及时回应、自然表达、允许插话,并把商品推荐、价格查询这些业务流程接起来。上一套方案里,延迟 2-3 秒、表情僵…

2026/7/29 8:22:58 阅读更多 →
【技术趋势】打通壁垒的个人通用记忆库,才是未来的第二大脑新方向

【技术趋势】打通壁垒的个人通用记忆库,才是未来的第二大脑新方向

什么是第二大脑你有没有想过,能给自己的大脑外接一块 “可插拔的专属记忆硬盘”?个人通用记忆库,就是这样一套独立于任何单一智能体的个人数字记忆系统,也就是我们常说的「第二大脑」。你可以把它理解成专属于你的 “数字海马体”…

2026/7/29 8:22:58 阅读更多 →
合泰单片机IO口从入门到精通:驱动、配置与实战避坑指南

合泰单片机IO口从入门到精通:驱动、配置与实战避坑指南

1. 从“点灯”开始:为什么IO口是单片机的第一课如果你刚拿到一块合泰(Holtek)的单片机开发板,比如常见的HT66Fxx系列,看着密密麻麻的引脚和陌生的开发环境,第一反应可能是“从哪开始?”。我的建…

2026/7/29 8:22:58 阅读更多 →

最新新闻

Processing实现Koch分形图:递归算法与创意编程实践

Processing实现Koch分形图:递归算法与创意编程实践

1. 从一条直线到无限复杂:Koch分形图的魅力如果你对创意编程或者几何艺术感兴趣,那么“分形”这个词你一定不陌生。它描述的是那些局部与整体具有相似性的复杂结构,在自然界中随处可见,比如海岸线、雪花、蕨类植物的叶子。而Koch曲…

2026/7/29 8:31:00 阅读更多 →
GPU加速终端Kitty:从安装配置到自动化工作流的深度实践指南

GPU加速终端Kitty:从安装配置到自动化工作流的深度实践指南

1. 为什么是Kitty?一个终端重度用户的选型心路如果你和我一样,每天有超过8小时的时间泡在终端里,那么终端模拟器的选择就绝不是一个可以随意对待的问题。它直接关系到你的工作效率、眼睛的舒适度,甚至是敲代码时的心情。在经历了i…

2026/7/29 8:31:00 阅读更多 →
245信号放大电路原理图绘制教程

245信号放大电路原理图绘制教程

一、课前准备在开始画之前,先确认你有这些东西:准备项说明嘉立创EDA专业版,已经建好工程,画过138译码电路元件选型文档里面有各个元件的供应商编号,直接搜就行参考原理图文档里给的参考图,照着画就行耐心第…

2026/7/29 8:31:00 阅读更多 →
SAP PS模块WBS元素成本中心配置详解:从原理到实战避坑指南

SAP PS模块WBS元素成本中心配置详解:从原理到实战避坑指南

1. 项目概述:为什么WBS元素里的成本中心总让人困惑?如果你正在接触SAP PS模块,或者已经做了一段时间的项目管理,大概率会对WBS元素(工作分解结构元素)里那个“成本中心”字段感到既熟悉又陌生。熟悉是因为它…

2026/7/29 8:31:00 阅读更多 →
Claude Code 官方“投毒”标记中国用户翻车,这次国外用户也怒了

Claude Code 官方“投毒”标记中国用户翻车,这次国外用户也怒了

Anthropic 这次又翻车了。 6 月 30 日,一名 Reddit 用户发了篇逆向分析。他拆了 Claude Code 2.1.196 的二进制文件,在里面找到了一段函数。触发条件很具体,做的事情很隐蔽。 当你使用代理连接 Claude Code 时,它会检查系统时区…

2026/7/29 8:31:00 阅读更多 →
Node.js SSTI漏洞实战:从原理到攻防的完整解析

Node.js SSTI漏洞实战:从原理到攻防的完整解析

1. 项目概述:一次真实的攻防演练复盘 前段时间,我作为防守方复盘了一场以“振兴杯”为背景的网络安全技能竞赛中的Web渗透题目。这道题的核心,是一个典型的 SSTI(服务器端模板注入) 漏洞,靶场环境搭建在 …

2026/7/29 8:29:59 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻