likes
comments
collection
share

向量数据库选择浅谈

作者站长头像
站长
· 阅读数 32

初见大模型

向量数据库选择浅谈

作为新手接触大模型后,LLM模型、Embedding模型、rank模型、vector模型等等选择上可谓是一步一个坑,迷茫的走在迷茫的大路上。总之各种途径去选择合适的模型,今天了解下向量数据库选择依据。

借鉴前人

学习之前先看看大家都在关注什么,主要看市面上那个火,大厂们关注那个、开源项目用的那个?为此看了dify、langchain、llama-index等框架里面默认用的那些。

  • dify:默认使用的weaviate,可能主要考虑他是sass版本天然支持多租户。
  • langchain: 提供的代码示例主要用了Chroma,可能考虑可以基于内存直接运行,直接上手测试
  • 网上关注度比较高的Faiss,weaviate、Milvus
  • 我司用的qdrant

选择合适的向量数据库

共性

  • 都是能够实现基础的文本语义检索,
  • 支持多语言客户端
  • 在三方框架都有相应的支持
  • 多种部署方式(云原生、docker、本地等等)

现在聊聊他们各自的特点

数据库QdrantWeaviateMilvusFaiss
开源且可自托管
开源协议Apache-2.0BSDApache-2.0MIT
开发语言RustGoGo, C++C++
Github Stars (k)18.810.228.129.4
首次发布时间2021201920192017
SDK客户端Python, JS, Go, Java, .Net, RustPython, JS, Java, GoPython, Java, JS, GoPython,Java,JavaScript,C++
托管云服务
内置文本嵌入
混合检索 ✅表内多向量混合
元信息筛选
BM25支持倒排索引
文本搜索
Langchain集成
Llama-index集成
Geo地理信息搜索
多租户支持
最大维度无限制6553532768
索引种类HNSWHNSWANNOY, FAISS, HNSW, ScANNFAISS, HNSW
分片静态分片静态分片动态分片不支持提供
Facets(带有计数的聚合)
Rest API
调用内置LLM用于RAG-✅Generative Search-

总结个人观点

数据库说明个人观点
Qdrant1. 一个集合中可以存多种向量(图片、文字等)2. 资源占用相当少API简单易懂,有可视化页面,初学者友好,不支持混合检索,功能不够强大
Weaviate1. 性能相对不错2. 支持内置嵌入3. 支持文本搜索4. GraphQL API5. 支持S3备份功能强大,花活挺多,内置嵌入初学者没啥用,没有可视化页面也不友好
Milvus1. 官方支持的可视化操作界面2. 较高的搜索准确率3. 丰富的SDK4. GPU加速功能同样强大,支持GPU加速对大数据量友好,官网API稳定易懂,对比mysql学习
FaissGPU加速的高速检索,特别擅长处理庞大数据集的快速最近邻搜索;2.适应不同技术风格的搜索技术一直强调GPU加速,可能是真的强

检索方式对比

  • Milvus:多向量搜索
  • Weaviate: 混合搜索(向量检索+BM25关键词搜索)
  • Qdrant:向量检索(关键字全文过滤)
  • Faiss: 支持批量查询(GPU高效索引)

多向量检索:适合复杂的场景,例如当一个实体可以通过多个不同的向量表示时。这适用于同一数据(如一个句子)通过不同嵌入模型处理,或当多模态信息(如个人的图像、指纹和声纹)转换成各种向量格式的情况。通过表范围内的“多路召回”,并给这些向量分配权重,它们的综合作用可以明显增加召回能力,并提高搜索结果的有效性。

BM25和简单的关键词搜索有什么区别?

简单的关键词搜索通常基于词频:如果一个词在文档中出现,那么这个文档就被认为是相关的。这种方法可能只计算关键词的出现次数,并且所有关键词都被视为同等重要。

BM25则是基于IF-IDF(词频-逆文档率算法)采用更复杂的算法,不仅考虑词频,还考虑文档长度和词的逆文档频率(即在所有文档中的稀有程度)。这意味着BM25可以提供一个更为精细化的相关性评分,更好地反映查询与文档的匹配程度

综上所述

对于新人入门尝试可以使用drant,学习成本低。

具体还得看业务需求,是否有复杂的逻辑,比如多模态需求、前端开发能力等可以使用Milvus,社区也比较活跃。

个人对Weaviate接受程度不高,初学者学习有点费劲,但是网上weaviate的文章还是挺多的,于用生产。

参考文章 blog.51cto.com/u_11908275/…

转载自:https://juejin.cn/post/7388096340503707688
评论
请登录