向量数据库选择浅谈
初见大模型https://img-blog.csdnimg.cn/img_convert/38f2a0fad451fcf6c4c44e409a4c102e.webp?x-oss-process=image/format,png
作为新手接触大模型后,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初次发布时间2021201920192017SDK客户端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的文章照旧挺多的,于用生产。
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和发展。
我意识到有很多履历和知识值得分享给各人,也可以通过我们的能力和履历解答各人在人工智能学习中的很多困惑,以是在工作繁忙的情况下照旧坚持各种整理和分享。但苦于知识流传途径有限,很多互联网行业朋侪无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包罗AI大模型入门学习思维导图、精品AI大模型学习册本手册、视频教程、实战学习等录播视频免费分享出来。
https://img-blog.csdnimg.cn/direct/1f716c327caf4b2596f981e8b7aaedf7.png
第一阶段: 从大模型系统设计入手,讲解大模型的重要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商范畴虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体范畴构建适合当前范畴大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小步伐案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
https://img-blog.csdnimg.cn/direct/65fa158ead174be98faffe3be3aeccf6.jpeg#pic_center
页:
[1]