RAG中向量数据库的使用及踩坑
由于时效问题,该文某些代码、技术可能已经过期,请注意!!!本文最后更新于:6 个月前
测试的向量数据库有:Faiss, Milvus, Chroma, ElasticSearch, MeiliSearch
文件加载和llm, embed的初始化
1 |
|
向量数据库
Faiss的使用
1 |
|
Milvus的使用
1 |
|
Milvus的一些基础查询
1 |
|
Chroma的使用
1 |
|
ES
1 |
|
MeiliSearch
1 |
|
从索引构建速度上看,测试下来是faiss最快,当然可能也看场景数据。另外Milvus 和 ElasticSearch、MeiliSearch需要后端启动对应的服务,这点比较麻烦,当然这也是可能更适合大数据搜索吧
混合检索:关键词和向量检索
faiss 和 chroma不支持混合检索,需自行实现
BM25 + Faiss
这里以BM25算法作为关键词检索,faiss作为向量检索
1 |
|
Milvus
Milvus的混合检索开启只需要把模式改成hybrid即可
1 |
|
PS: ES查询超显存了
参考:
https://docs.llamaindex.ai/en/stable/module_guides/storing/vector_stores/
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!