最近在做RAG项目,数据量大概几百万条文本embedding,现在用faiss本地跑,但内存快扛不住了,而且每次全量更新索引特别慢。看了一圈像Milvus、Qdrant、Weaviate这些,感觉各有说法,有点选择困难。我的场景主要是知识库问答,查询并发不高,但希望支持增量更新和过滤条件(比如按文档类别过滤)。另外部署上不想太复杂,最好Docker能搞定。有没有用过的朋友聊聊实际体验?特别是数据量上去之后,这几个在性能、资源占用和稳定性上差别大吗?如果不想折腾,是不是直接用pgvector也够用?
楼主
2天前
向量数据库这么多,RAG场景到底该选哪个?求过来人指点
请 登录 后发表回复
全部回复
共 3 条
2楼
2天前
pgvector真够用,你这量级加过滤查询它稳得很,别折腾专门的向量库了。
3楼
2天前
pgvector其实被低估了,你这并发不高的话完全够用,还能跟业务库一起事务,省掉同步的麻烦。但几百万条数据加过滤条件,记得要建好HNSW索引再加个类别列上的B-tree,否则过滤会退化。真要上专用库的话,Qdrant的payload过滤和增量更新体验比Milvus省心,Docker单机跑也稳,Milvus那个etcd加MinIO的组合光部署就够喝一壶的。
4楼
1天前
几百万条其实不算特别大,pgvector加个IVFFlat索引完全能扛,而且你并发不高,过滤条件写SQL也顺手,增量更新直接upsert就行。我之前图省事从faiss迁到pgvector,内存问题直接没了,Docker一个镜像搞定,运维成本低到可以忽略。不过如果你后面数据量涨到几千万,或者检索延迟要求很严,那还是得换专门的向量库,Qdrant的过滤和增量做得比较舒服,但资源占用比pgvector高不少。