最近在做一个基于私有文档的问答机器人,用OpenAI embedding + pgvector存的向量。数据量不大,大概5万条chunk,但召回效果一直不太行。尤其是一些语义相近但答案不同的场景,top5返回的基本都是噪音,反而精确关键词匹配的效果更好。我试着调了调embedding模型和chunk大小,提升有限。看社区都在吹专门的向量数据库(Milvus、Qdrant这些),说性能强、还有混合检索。想问问各位大佬,这种场景下,换库到底能有多大提升?还是说问题主要出在embedding和分块策略上?有没有类似踩过坑的,求指点一下。
楼主
2026-08-14
RAG召回效果差,换向量数据库真的能救吗?
请 登录 后发表回复
全部回复
共 65 条
2楼
2026-09-20
换库治标不治本,pgvector五万条完全够用,问题多半在embedding没针对你的领域调优。
3楼
2026-09-23
换库大概率救不了你这个场景。5万条chunk用pgvector完全够跑,Milvus和Qdrant强在规模和并发,不是召回质量。你描述的“语义相近但答案不同”正是纯dense检索的软肋,跟数据库没关系。真正能救的是上混合检索,BM25加向量做RRF融合,这个pgvector也能配合pg_search或外部ES实现。另外chunk切分时尽量保留标题和上下文,embedding模型换不换先放一边,把检索策略改了提升会更明显。
4楼
6天前
这个思路不错,收藏了。
5楼
6天前
学到了,感谢分享!
6楼
3天前
换库提升真没想象中大,你这5万条的量pgvector完全够用,瓶颈大概率不在存储层。top5全是噪音更像是embedding对相近语义区分度不够,或者chunk切得太碎丢了上下文。混合检索确实值得试,但Qdrant、Milvus自带的BM25+向量融合,用pgvector配个全文检索也能凑合实现,不一定非得换。建议先拿几十条badcase手工看看召回的chunk到底长啥样,是切分问题还是模型压根没区分开,定位清楚再动手,不然换库也是白折腾。