第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

向量數(shù)據(jù)庫大比拼:FAISS、Pinecone、Weaviate等誰更強?

向量数据库是RAG管道的重要组成部分,并在最终结果的质量上发挥着关键作用。它们的重要性直接影响你整个RAG框架的性能——毕竟,一个链条的整体强度取决于它的最薄弱环节。这应该足以让你好好看看各种向量存储的选择。

在这篇文章中,我描述并比较了七个流行的数据库产品,突出它们的优点、缺点以及各自适用的场景。

我要介绍的第一个工具是Facebook(Meta)的人工智能相似性搜索(FAISS),这是在2017年推出的。它是Facebook人工智能研究部门(FAIR)开发的一个开源库,旨在解决大规模数据集中高效相似性搜索的挑战,并且提到聚类问题。FAISS通过高度优化的C++实现来达到其目标,并且提供Python接口。

FAISS 提供了一系列近似最近邻(ANN)搜索算法,支持通过平面索引进行暴力查找法以及更高级的索引结构,如倒排文件索引(IVF)的各种量化方法、产品量化(PQ)及其优化版本(OPQ),以及基于图的索引,如层级可导航小世界(HNSW)。这些索引方法可以结合起来使用,以平衡速度、内存使用和精确度。

虽然FAISS在向量相似度搜索方面做得很好,但是它本身并不支持结合关键词或文本搜索的混合搜索功能。如果要实现这种混合搜索,就需要将FAISS与外部工具或数据库结合起来。

松果科技由前亚马逊AI实验室负责人埃edo·利伯蒂于2019年创立。该公司于2021年正式推出其向量数据库管理服务,旨在简化构建和维护向量搜索系统的复杂性问题,从而简化了这一过程。

松果使用了一种自己研发的基于图的专有算法,称为松果图算法(PGA,详情见此处)。PGA 所依赖的平面图拓扑提高了内存效率,并能支持实时数据更新。该方法借鉴了微软的 Vamana(又称 FreshDiskANN,详情见此处)。

除了他们自己开发的算法之外,他们的服务还包括基于上传数据的自动参数调优,从而开发者可以将向量存储视为黑盒,专注于构建产品和编码。此外,Pinecone 还提供了混合搜索功能,结合传统的词汇搜索与语义向量搜索。

另一方面,使用这项服务的一个重要缺点是,开发者对向量存储的详细算法和内部工作原理一无所知,无法进行任何高级定制。这导致了易用性和可配置性之间的权衡。

Weaviate 是由 SeMI(语义机洞察)技术公司在 2018 年推出的一款开源向量数据库,旨在通过向量嵌入高效处理未结构化的数据。当时的目标是超越传统的关键词搜索,使系统能够理解查询的背景和含义。多年来,Weaviate 不断演进,增加了诸如复制功能以及与 Kubernetes 和 Docker 技术的集成等特性,增强了其可扩展性和适应各种部署需求的能力。因此,Weaviate 作为 Weaviate 云(WCD),一种托管的 SaaS 解决方案,可以使用,也可以自行管理,使用 Docker 和 Kubernetes。

Weaviate的主要宗旨是作为一个强大的向量搜索工具,使开发人员能够构建原生AI应用程序,这些应用程序对于小型数据集使用简单的线性搜索(暴力法),对于大型数据集使用HNSW算法。此外,向量的大小通过产品量化(PQ)减小。此外,Weaviate还支持混合搜索方式,结合了基于关键词的BM25搜索和用于语义相似度的向量搜索。

整个向量数据库系统采用模块化设计,通过向量器、读取器和生成器模块,可以自定义系统,以适应特定应用需求。此外,还可以创建自定义模型,进一步优化索引过程。

Milvus 是由Zilliz于2018年发起的一个开源向量数据库,旨在构建一个简化AI应用的数据基础设施。该项目并于2019年以Apache 2.0许可开放源代码,并基于向量搜索库FAISS构建。Milvus架构基于四个层次:访问层、协调层、工作机和存储。这些层次在扩展和灾难恢复方面相互独立。为了更好的性能,建议使用Docker或Kubernetes部署Milvus服务器。这可以通过使用Zilliz Cloud(Milvus的完全托管云服务)或您自己的Kubernetes集群来实现。

当数据库大幅增长时,Mivlous 允许部署磁盘加速近似最近邻(Disk-Accelerated Approximate Nearest Neighbors,DiskANN),这是一种由微软开发的算法,可以在将大部分数据保留在磁盘而不是 RAM 中的情况下进行相似性搜索。

另外,Milvus 的一个关键特性是它支持多种索引方法,例如 IVF、HNSW、ANNOY 和 DISKANN。这帮助用户在搜索速度、准确度和资源使用之间找到平衡。

ChromaDB,通常称为 Chroma,是一个开源的向量数据库,专为涉及大规模语言模型的应用而设计。ChromaDB 的一个关键特点是其实现的简洁性,它只专注于几种方法来在数据库中创建、删除、检索和更新向量。

该公司于2023年4月完成了首次种子轮投资,这突显了该产品还很年轻,说明它仍在快速成长和开发中。这一早期的发展阶段也可能解释了为什么ChromaDB目前完全专注于密集向量检索。因此,目前尚无混合搜索功能。不过,它确实支持可以附加到每个向量上的元数据字段,从而支持筛选。

所有被添加到 Chroma 的向量都在内存中组织成一个 HNSW 图结构。目前 Chroma 还没有提供其他的 ANN 算法。HNSW 是当前版本中稠密向量默认且唯一的索引方式。此外,它也不维护一个单独的扁平索引。

当前版本的另一个限制在于,Chroma 不支持跨多台机器的内置分片。它也没有提供使用压缩索引(如 PQ 或磁盘搜索)以节省内存的选项。

这些限制说明,目前来说,ChromaDB 适合快速原型设计,但在大型项目中不太合适。

Qdrant 是由 CEO André Zayarni 和 CTO Andrey Vasnetsov 于 2021 年在柏林创立的另一款开源向量数据库。在 Qdrant 中,向量组织成集合。类似于 ChromaDB,可以将包含额外信息的元数据以载荷的形式附加到向量上。因此,数据库中的信息也可以仅通过每个向量携带的元数据进行过滤,因为开发人员认为向量搜索能力应该超越简单的最近邻搜索。

Qdrant 提供两种存储选项。内存存储将所有向量存储在内存中,以便快速检索。另一种是 Memmap 存储在磁盘上创建一个与文件相关的虚拟地址空间来存储文件。最新版本的 Qdrant 支持以二进制量化(BQ)的形式进行索引压缩,进一步优化标量量化(SQ),从而减少内存消耗并加快搜索速度。

Qdrant 当前仅使用 HNSW 作为稠密向量的索引来索引稠密向量。然而,它允许同时搜索稠密和稀疏向量。具体的实现方式由开发者决定。Qdrant 可以在自己的硬件上进行自托管,也可以选择让 Qdrant 来处理部署事宜,从而让开发者专注于应用程序的开发。

最后一个数据库并不是一个主要的向量数据库,而是。Neo4j 传统上被认为是一个图数据库,它集成了向量搜索功能。Neo4j 创始于21世纪初的早期,由其创始人创建了一个图数据库以更好地处理连接数据。2007年,其团队在瑞典马尔默成立了一家名为 Neo Technology(现为 Neo4j Inc.)的公司,以构建和商业化图数据库产品。两年后,Neo4j 在 GPL 许可证下开源,使其能够被全球开发者社区访问和使用。

Neo4j 提供了一个完全开源版本,根据 GPLv3 许可证授权,供开发者、初创企业、学术界和课程使用。另外,还有为企业版软件提供的图数据库部署授权。

2023年8月发布的5.11版本中新增了向量搜索功能,以增强语义搜索和生成式AI应用的能力。与其他所有向量数据库一样,Neo4j使用HNSW(Hnsw)算法高效地找到近似最近邻。

结合图数据库和向量数据库可以提供数据的整体视图。这种结合使用户能够发现通过图连接显示的关系以及通过向量距离显示的隐性相似性,从而促进更深入的分析。然而,Neo4j中的向量数据库依然是图数据库的一个扩展,其功能不如原生向量数据库丰富。

经过一番研究之后,最后要问的问题是:我下一个项目该用哪个向量存储?

我的看法如下,基于之前的研究所知:

  • FAISS:最适合用于从零开始构建学术用途的向量存储。
  • Pinecone:如果你不想担心后端向量存储,并更专注于最终产品,这是理想的选择。
  • Weaviate:如果你喜欢模块化思维,它可扩展且组件可以轻松替换,这是个很好的选择。
  • Milvus:如果你对Kubernetes部署非常熟悉,这是生产环境中的一个稳健选择。
  • ChromaDB:非常适合快速原型设计和实验。
  • Qdrant:如果你的向量存储需求超出语义信息检索,未来可能需要过滤、搜索、推荐和发现功能,这是推荐的选择。
  • Neo4j:对于超出语义用途的用例,它支持集成本体层和高级细粒度关系,这是最佳选择。

你觉得呢?你觉得哪些向量数据库应该加入列表?
你使用过哪些向量数据库?

felix-pappe.medium.com/subscribe 🔔
www.linkedin.com/in/felix-pappe 🔗

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消