首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Embedding模型选型与检索调优:我的RAG质量翻倍之路

Embedding模型选型与检索调优:我的RAG质量翻倍之路

作者头像
编程小白狼
发布于 2026-11-04 08:22:12
发布于 2026-11-04 08:22:12
1040
举报
文章被收录于专栏:编程小白狼编程小白狼

做了半年RAG知识库,我有个深刻的教训:很多人以为RAG答得不准是LLM的问题,其实七八成出在Embedding和检索上。我最早用默认Embedding模型跑知识库,检索出来的内容经常驴唇不对马嘴;后来系统性地做了一轮Embedding选型和检索调优,检索准确率翻了一倍,知识库问答质量肉眼可见地提升。这篇文章把选型和调优过程完整记录下来。

一、先搞清楚:Embedding在RAG里扮演什么角色

RAG的流程是"用户问题→检索→把检索结果给LLM→生成回答"。其中"检索"这一步的质量,直接决定LLM"吃到的材料"对不对。而检索质量由三件事决定:

  1. Embedding模型:文本变成向量的"翻译官",翻得好不好决定相似度算得准不准;
  2. 文档切分策略:切成多大的块、块之间怎么衔接;
  3. 检索策略:向量检索、关键词检索、混合检索怎么配合。

Embedding是地基,地基不牢,后面全白搭。

二、Embedding模型实测选型

我测试了四个模型:bge-small-zh、bge-m3、text-embedding-v3(通义)、text-embedding-3(OpenAI),用我们自己的知识库文档+100个真实问题做评测。

评测结果

模型

检索准确率(top5)

速度

成本/部署

bge-small-zh

61%

快

免费,本地跑

bge-m3

79%

较快

免费,本地跑

text-embedding-v3

82%

快

API计费

text-embedding-3

80%

快

API计费

结论:bge-m3和两个云端模型差距很小(2-3个点),考虑到免费、本地部署、数据不出内网,我们最终选了 bge-m3——性价比之王。这个结果也印证了:对中文内部文档,国产开源Embedding模型已经够用,没必要迷信云端大牌。

关键细节:评测要用"真实问题集"

我的评测不是拿网上的标准数据集,而是用自己业务里真实的100个问题+知识库文档测。因为Embedding的好坏高度依赖领域——通用评测分数高,不代表在你的文档上就准。这个教训很重要,很多团队拿通用基准选模型,上线后才发现不匹配。

三、检索调优:比换模型更见效的三招

第1招:切分策略调优

我把同一个文档用三种方式切分对比:

  • 固定512字:检索准确率71%;
  • 按语义段落切分(标题感知,每段500-800字):准确率82%;
  • 512字+50字重叠:78%。

按语义段落切分效果最好——因为文档的语义单位本来就是"段",切开后每块内容是完整的。实现上,我按Markdown标题把文档拆成"章节块",块太大再按句号二次切分。

第2招:混合检索

纯向量检索对"关键词精确匹配"不敏感(比如搜"发票号"容易漏)。我加了BM25关键词检索,把向量分数和关键词分数加权融合。加上后,术语密集的场景准确率又提升了5个点左右。

第3招:查询改写

用户的问题往往很口语化("报销咋弄"),和文档里的书面表述向量距离远。我先让LLM把问题"改写"成更规范的表述("报销流程是什么"),再拿去检索,命中率明显提升。这个小改动,效果立竿见影。

四、踩过的坑

  1. 混合语言的坑:我们文档有中文有英文,早期Embedding对中英混排处理不好。bge-m3对多语言支持更好,这也是选它的原因之一;
  2. 标题信息丢失:切分时如果不保留文档标题和章节层级,检索结果不知道来自哪一章,回答时容易混。我在每块内容里带上"来源路径",效果和可追溯性都提升了;
  3. 索引更新不及时:文档改了没重新向量化,检索引擎还在用旧版本。加了文档变更检测+自动重建索引后解决。

五、总结

这次调优的总收益:检索准确率从61%提到82%+,知识库问答的"答非所问"明显减少。我的心得总结三条:

  1. Embedding选型用真实问题集评测,别信通用榜单;
  2. 切分策略的收益不亚于换模型,语义段落切分+保留层级信息是基础配置;
  3. 混合检索+查询改写是"免费"的提分手段,实现简单,收益明显。

如果你也在做RAG且觉得"答得不准",先别急着换大模型——把Embedding、切分、检索这三层从头调一遍,很可能花半天时间就能让质量上一个台阶。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、先搞清楚:Embedding在RAG里扮演什么角色
  • 二、Embedding模型实测选型
    • 评测结果
    • 关键细节:评测要用"真实问题集"
  • 三、检索调优:比换模型更见效的三招
    • 第1招:切分策略调优
    • 第2招:混合检索
    • 第3招:查询改写
  • 四、踩过的坑
  • 五、总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档