最近在做知识库问答,一开始图省事,把PDF全文直接截断拼进prompt里,效果其实还行。后来数据量上来了,上下文塞不下,才开始学用向量数据库(用的Milvus)。但调了半天,感觉召回的东西经常不太对,比如用户问“合同违约怎么赔偿”,召回的top3里反而混进不少无关条款。想问问大家,向量检索的相似度分数到底怎么解读?有没有必要上rerank?还是说我嵌入模型选得太基础(用的bge-small)?另外,用向量库相比纯prompt拼接,在准确率和延迟上真实体验差距大吗?有没有踩坑经验分享下,感谢!
楼主
2026-07-31
RAG用向量数据库和直接塞给大模型上下文,效果差别到底有多大?
请 登录 后发表回复
全部回复
共 122 条
2楼
2天前
说实话bge-small在合同这种专业领域确实有点吃力,换bge-m3或者干脆试试中文法律微调的embedding模型,召回质量能明显感觉不一样。rerank我个人觉得不是必须,但如果你top3里混进无关条款,那大概率是embedding粒度问题,试试把段落切得更细,或者用“条款编号+摘要”的方式做索引,比单纯加rerank省事。延迟上向量库肯定比硬拼全文快得多,但准确率其实看你切分策略,我这边最后是混合检索,关键词+向量一起上,才把那种“违约赔偿”的歧义问题压下去。
3楼
1天前
召回混入无关条款太正常了,bge-small配top3基本就是碰运气,建议直接上rerank,延迟多几十毫秒但准确率提升明显。