目前了解到的向量存储数据库有如下几种,主要的场景就是 RAG 开发,知识库数据量应该不算特别多,哪种更适合?
chroma 、
elasticsearch 、
Milvus 、
neo4j 、
opensearch 、
pinecone 、
qdrant 、
redis 、
vespa 、
weaviate 、
pgvector

elasticsearch

Milvus 这玩意好像是专门的向量数据库

chroma 、Milvus 。

postgres + 插件(PGVector / Svector ) pigsty.cc/zh/blog/pg/pg-eat-db-world/

#1 据说不咋好用啊

Milvus

最近我们也要搞 RAG ,也在这块选呢,大家也帮忙参考参考,最好能支持混合检索的

点乘和欧氏最好都能支持的

pg 也支持

Casibase ( github.com/casibase/casibase )是一套开源的基于 Web 的 AI 知识数据库,直接带有 RAG 聊天功能,也自带向量数据库。GitHub 已达到 2000+ stars ,欢迎体验~

先用 es ,大而全,文档多。唯一缺点是延迟相对高。有痛点的时候再蹚其它的坑

我用过 milvus 和 lancedb ,milvus 功能比较全面,lancedb python api 方便,适合快速开发小 deme 做测试用

milvus 是最火的那个

写个简单的测试集评估一下呗。当然也要结合你的应用场景,比如你想弄个简单的客户端程序,弄个 ES ……同样,你要部署于阿里云,opensearch 就是现成的。如果你用诸如 LangChain / LlamIndex 连接上述库写个测试不难的。

已经熟悉 pg 了,直接用了 pg + pgvector

看你数据量,10w 以下 pg+vector 没啥问题。然后你可以参考 dify 的选择看:他们之前是 weaviate ,现在说是推荐 qdrant 。 docs.dify.ai/v/zh-hans/getting-started/readme/features-and-specifications他们在一个 issure 中似乎提到了切换的原因,但我懒得去翻连接了

个人推荐 Milvus 性能很可以的

大项目用 Milvus ,小项目用 sqlite+faiss, 单文档用 csv+numpy

没人提 qdrant 吗

实际项目下来 es 最佳,pgvector.rs 其次,mivlus 等专门的向量库通用性太差,需求稍微复杂一点都不支持,而且做到后面往往需要混合搜索(传统搜索+向量搜索),这种 es 无敌

数据量不大的话用 milvus 最好,这个搜索速度和准确度都是最高的那一档,唯一的问题是 milvus 所有数据都存在内存里,数据量大很容易 OOM

不愧是最先进的开源数据库。明年估计也要搞类似东西了,先储备起来

pg + pgvector +1