最近在搭一个个人知识库的RAG项目,主要用来处理一些PDF论文和Markdown笔记。目前用的框架是LangChain,向量库用的Chroma,但到选embedding模型这一步卡住了。看了一些评测,BGE-large-zh-v1.5和m3e-base好像都不错,但实际测试下来发现差距挺明显的:BGE对长文本的语义捕捉确实更稳,但速度和显存占用有点吃不消;M3E轻量很多,可碰到一些专业术语或者中英混合的句子就有点飘。想问问大家在生产或者实际项目中更倾向用哪个?另外有没有必要上那种带指令(instruction)的版本?我目前数据量大概几万条,后面可能会扩到几十万,担心迁移成本。求有经验的大佬指点一下,或者推荐其他更合适的开源方案也行。
楼主
2026-08-11
RAG系统用开源模型做embedding,到底该选BGE还是M3E?纠结好久了
请 登录 后发表回复
全部回复
共 82 条
2楼
28天前
几万条数据其实BGE-large-zh够用,但你要扩到几十万还兼顾速度,建议试试BGE-small-zh或者bge-m3,后者对中英混合和多语言场景比M3E稳不少。带instruction的版本在检索任务上确实有提升,但得看你的query格式,如果都是短问题其实收益有限。我之前从M3E迁到BGE的时候重新跑了一遍全量embedding,几万条也就十几分钟,迁移成本没想象中高,早点定下来别反复换。
3楼
26天前
我这边几万条笔记实测下来也是BGE更稳,尤其你处理论文这种长文本,M3E确实容易在术语上翻车。不过显存扛不住可以试试bge-base或者small,效果掉得没想象中多。带instruction的版本我试过,对query改写场景提升明显,但如果你只是简单检索,性价比一般。几十万条这个量级建议一开始就定好,后面换模型重跑embedding真的挺痛苦。