最近在做一个个人知识库的RAG项目,文档量大概几千到几万这个级别,用的LangChain框架。一开始图省事直接上了Chroma,本地跑确实方便,但数据一多感觉检索速度明显下降,而且持久化那块总有点不放心。后来看网上很多人推荐Milvus,说性能和扩展性更好,但部署起来好像要Docker甚至K8s,对我这种单机开发来说是不是有点重了?想问问大家实际项目中是怎么选的,有没有那种介于两者之间的方案?顺便问下Qdrant有人用过吗,体验如何?
楼主
14天前
向量数据库选型求助,Milvus和Chroma到底该怎么选?
请 登录 后发表回复
全部回复
共 1 条
2楼
13天前
几千到几万文档这个量级其实挺尴尬的,Chroma 一开始确实舒服,但它的 HNSW 索引参数默认值偏保守,数据上来之后召回和延迟都会变差,而且它持久化用的是 SQLite + 文件,并发写多点就容易出问题。Milvus 单机版用 docker compose 起其实没那么吓人,standalone 模式一个 compose 文件就搞定了,资源占用看你数据量,几万条根本不算什么,但它的运维心智确实比 Chroma 重不少。我自己这个量级最后选了 Qdrant,单二进制或者 docker 一条命令就能跑,Rust 写的性能很稳,过滤检索这块比 Chroma 强太多,payload 索引也做得细。它有个 local mode 可以直接嵌进 Python 进程里,开发阶段连服务都不用起,后面要独立部署再切过去,迁移成本很低。要说缺点就是生态和文档相比 Milvus 还是薄一点,社区案例没那么多,但个人项目完全够用了。你这个规模我建议先 Qdrant 试水,真到百万级再考虑 Milvus 集群也不迟。