问:RAG系统上线后,用户反馈“问A答B”,团队调了两周分块参数,效果还是不理想。问题到底出在哪?
答:大概率不是分块的问题,是Embedding模型选错了。分块对检索效果的影响,远小于Embedding模型的选择。这是一个容易踩的坑——分块策略是“看得见的”参数,工程师可以直观调整,而Embedding模型是“黑盒”,大多数人甚至不知道还能换。
一、分块策略的贡献被高估了
分块策略的核心作用只是“保证语义完整性”——不要把完整段落拦腰切断,不要让相关内容散落在不同块里。只要你的分块策略不是极端离谱,它对检索效果的贡献其实很小。
实践中常见的情况:团队花两周反复试256/512/1024 token的分块大小,试了各种overlap比例,效果提升非常有限。不是说分块不重要,而是它确实不是主要矛盾。
二、Embedding模型才是真正的天花板
Embedding模型负责把文本转成向量。不同模型生成的向量空间结构完全不同。如果模型本身的“语义相似”判定逻辑和你的业务场景不匹配,分块做得再好也没用。
企业级RAG常见Embedding方案对比:
模型 | 维度 | 中文能力 | 适用场景 |
BAAI/bge-large-zh-v1.5 | 1024 | 国内第一梯队 | 通用中文企业知识库 |
text-embedding-3-large | 3072 | 强 | 多语言混合、效果极致要求 |
qwen-text-embedding | 1536 | 强 | 阿里云生态、中文为主 |
开源自建小模型 | 384-768 | 一般 | 资源受限场景 |
切换Embedding模型的收益通常是召回率+5%到+15%,且没有技术风险。方法很简单:新建collection,用新模型重新跑一遍向量化,对比几个典型问题的召回结果。效果好就切,效果不好就回滚。
三、混合检索比纯向量检索更稳
除了换模型,还有另一个高性价比优化:混合检索——向量检索+关键词检索,两路结果合并排序。
向量检索擅长语义泛化,关键词检索擅长精确匹配。两者结合,召回率通常比纯向量检索高15-30%。多数向量数据库(Milvus、Qdrant)原生支持混合检索,开启成本极低。
检索质量优化优先级:
1.换Embedding模型(投入1-2天,召回率+5%~15%)
2.开混合检索(投入半天,召回率+15%~30%)
3.调分块策略(投入1-2周,召回率+0%~10%)
FAQ
Q:换Embedding模型需要重新向量化所有文档吗?
A:需要。不同模型生成的向量空间不兼容,更换后必须全量重新向量化。建议在测试环境先验证效果再切生产。
Q:开源Embedding模型和商业API差距大吗?
A:对中文企业知识库,BGE系列开源模型和商业API的差距正在缩小。有合规要求或数据不能出域的场景,开源模型是唯一选择。
Q:混合检索的权重怎么调?
A:多数向量数据库使用RRF算法,不需要手动调权重。自定义融合可从0.5:0.5起步,根据实际效果微调。