开源向量数据库介绍

在开源矢量数据库的世界里,有些名字因其性能、灵活性和健壮性而脱颖而出。

1. Milvus

Milvus 由 Zilliz 推出,是一款高度可定制的开源矢量数据库,在处理大规模数据方面大放异彩。由于其出色的可扩展性,当你需要处理大量数据时,它是一个极佳的选择。Milvus 使非结构化数据搜索更易于访问,无论部署环境如何,都能提供一致的用户体验。

2. Faiss

Faiss 由 Facebook 的人工智能研究团队开发,是另一个令人印象深刻的向量数据库,擅长高维向量搜索。它以高效和快速著称,是时间敏感型应用的最佳选择。Faiss 是一个用于对密集向量进行高效相似性搜索和聚类的库。它包含的算法可搜索任何大小的向量集,甚至可能无法放入 RAM 的向量集。它还包含用于评估和参数调整的支持代码。Faiss 是用 C++ 编写的,并为 Python/numpy 提供了完整的封装。一些最有用的算法是在 GPU 上实现的。

3. Annoy (Approximate Nearest Neighbors Oh Yeah)

Annoy 由 Spotify 创建,是一个轻量级但功能强大的数据库。它专为快速搜索大型数据集而设计,非常适合需要快速得到结果的应用程序。它是一个带有 Python 绑定的 C++ 库,用于搜索空间中与给定查询点相近的点。它还能创建基于文件的大型只读数据结构,并将其映射到内存中,以便多个进程共享相同的数据。

‍4. Nmslib (Non-Metric Space Library)

Nmslib 是一个专门的开源矢量数据库,专注于非度量空间。对于那些需要更利基解决方案的独特项目来说,它是一个不错的选择。该项目的目标是为通用和非度量空间的搜索创建一个有效而全面的工具包。尽管该库包含各种度量空间访问方法,但其主要重点是通用和近似搜索方法,尤其是非度量空间的方法。NMSLIB 可能是第一个原则性支持非度量空间搜索的库。

5. Qdrant

Qdrant(读作:象限)是一种矢量相似性搜索引擎和矢量数据库。它提供了一种生产就绪的服务,具有方便的 API,可用于存储、搜索和管理带有附加有效载荷的点矢量Qdrant 专为扩展过滤支持而定制。Qdrant 是为扩展过滤支持而定制的,因此适用于各种基于神经网络或语义的匹配、分面搜索和其他应用。

Qdrant 由 Rust 编写,因此即使在高负载情况下也能快速可靠地运行。查看基准测试。

6. Chroma

Chroma 是开源嵌入式数据库。Chroma 使知识、事实和技能可插入 LLM,从而轻松构建 LLM 应用程序。Chroma 设计得足够简单,可以快速上手,也足够灵活,可以满足多种用例。您可以使用自己的嵌入模型,用自己的嵌入来查询 Chroma,并对元数据进行过滤。

7. LanceDB

LanceDB 是一个用于向量搜索的开源数据库,采用持久存储,大大简化了嵌入的检索、过滤和管理。LanceDB 的核心是用 Rust 编写的,使用 Lance 构建,Lance 是一种开源列式格式,专为高性能 ML 工作负载而设计。LanceDB API 可与不断发展的 Python 和 Javascript 生态系统无缝协作。使用 DataFrames 操作数据,使用 Pydantic 构建模型,使用 LanceDB 存储和查询。

8. Vectra

Vectra 是一个适用于 Node.js 的本地矢量数据库,功能类似于 Pinecone 或 Qdrant,但使用本地文件构建。每个 Vectra 索引都是磁盘上的一个文件夹。文件夹中有一个 index.json 文件,其中包含该索引的所有矢量以及任何索引元数据。 创建索引时,您可以指定要索引的元数据属性,只有这些字段会存储在 index.json 文件中。项目的所有其他元数据都将存储在磁盘上的一个单独文件中,该文件的关键字为 GUID。

请记住,您的整个 Vectra 索引都会加载到内存中,因此它不太适合长期聊天机器人记忆等场景。为此,请使用真正的矢量数据库。

9. Vespa

Vespa 是一个开源平台,适用于需要对大型结构化、文本和矢量数据进行低延迟计算的应用程序。Vespa.ai 可用于在任何规模下利用大数据实时做出人工智能驱动的决策,并具有无与伦比的性能。

企业使用 vespa.ai 解决结构化、文本和矢量搜索以及实时推荐、个性化和目标定位等问题。该平台根据 Apache 2.0 许可开源,可从 vespa.ai 下载,或在 cloud.vespa.ai 作为无服务器托管服务使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/734945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

判断链表回文

题目&#xff1a; //方法一&#xff0c;空间复杂度O(n) class Solution { public:bool isPalindrome(ListNode* head) {vector<int> nums; //放进数组后用双指针判断ListNode* cur head;while(cur){nums.emplace_back(cur->val);cur cur->next;}for(int i0…

力扣同类题:重排链表

很明显做过一次 class Solution { public:void reorderList(ListNode* head) {if(!head||!head->next)return;ListNode *fasthead,*lowhead;ListNode *prenullptr,*curnullptr,*nextnullptr;while(fast->next!nullptr){fastfast->next;if(fast->next)fastfast->…

深入理解操作系统Operator System(2)

目录 操作系统对上的管理 系统调用接口 用户操作接口&#xff08;库函数&#xff09; 系统调用和库函数的概念 结构层次示意图 总结 为什么要有操作系统❓ 上次主要介绍了操作系统的"管理"和操作系统对下的管理。本篇主要是对上的管理。 操作系统对上的管理 …

04-ESP32S3-GPIO

ESP32S3-IDF GPIO GPIO简介 ESP32S3提供了多达45个物理GPIO管脚&#xff0c;这些管脚不仅可以作为通用的输入输出接口&#xff0c;还可以连接到内部外设信号。通过GPIO交换矩阵、IO MUX和RTC IO MUX&#xff0c;可以灵活地配置外设模块的输入信号来源于任何GPIO管脚&#xff0…

k8s存储

目录 前瞻 emptyDir存储卷 hostPath存储卷 nfs共享存储卷 PVC 和 PV NFS使用PV和PVC 配置nfs存储 定义PV 定义PVC 测试访问 搭建 StorageClass nfs-client-provisioner &#xff0c;实现 NFS 的动态 PV 创建 在192.168.75.40节点上安装nfs&#xff0c;并配置nfs服务 …

python:标准正态同质性检验(Standard Normal Homogeneity Test,SNHT) 突变点检测(以NDVI时间序列为例)

作者:CSDN @ _养乐多_ 本文将介绍标准正态同质性检验(Standard Normal Homogeneity Test,SNHT) 突变点检测代码。以 NDVI 时间序列为例。输入数据可以是csv,一列NDVI值,一列时间。代码可以扩展到遥感时间序列突变检测(突变年份、突变幅度等)中。 结果如下图所示, 文…

【UE5】映射方式:动作映射(Action Mappings) 与 轴映射(Axis Mappings)

在游戏中有很多功能需要键盘按键触发&#xff0c;接下来我们会制作键盘输入设置 项目资源文末百度网盘自取 打开项目设置面板 选择Input 按键的映射方式有两种&#xff1a; 一种是动作映射 / 操作映射(Action Mappings)&#xff0c;这种方式可以响应按键的按下和抬起。当键盘…

AI安全白皮书 | “深度伪造”产业链调查以及四类防御措施

以下内容&#xff0c;摘编自顶象防御云业务安全情报中心正在制作的《“深度伪造”视频识别与防御白皮书》&#xff0c;对“深度伪造”感兴趣的网友&#xff0c;可在文章留言中写下邮箱&#xff0c;在该白皮书完成后&#xff0c;会为您免费寄送一份电子版。 “深度伪造”就是创建…

关于安卓ZXing条码识别(一)引入源码

背景 从0-1引入安卓zxing&#xff0c;实现条码识别 环境 win10 as4 jdk8 引入 首先&#xff0c;官方网站&#xff0c;就是源码。链接 选择你要引入的分支&#xff0c;这里博主选择的是最近更新的分支&#xff0c;如下图&#xff1a; 上图中&#xff0c;1和2都需要引入&am…

鸿蒙开发学习:【ets_frontend组件】

简介 ets_frontend组件是方舟运行时子系统的前端工具&#xff0c;结合ace-ets2bundle组件&#xff0c;支持将ets文件转换为方舟字节码文件。 ets_frontend组件架构图 目录 /arkcompiler/ets_frontend/ ├── test262 # test262测试配置和运行脚本 ├── testTs…

《TCP/IP详解 卷一》第13章 TCP连接管理

目录 13.1 引言 13.2 TCP连接的建立与终止 13.2.1 TCP半关闭 13.2.2 同时打开与关闭 13.2.3 初始序列号 13.2.4 例子 13.2.5 连接建立超时 13.2.6 连接与转换器 13.3 TCP 选项 13.3.1 最大段大小选项 13.3.2 选择确认选项 13.3.3 窗口缩放选项 13.3.4 时间戳选项与…

AWS 入门实践-远程访问AWS EC2 Linux虚拟机

远程访问AWS EC2 Linux虚拟机是AWS云计算服务中的一个基本且重要的技能。本指南旨在为初学者提供一系列步骤&#xff0c;以便成功地设置并远程访问他们的EC2 Linux实例。包括如何上传下载文件、如何ssh远程登录EC2虚拟机。 一、创建一个AWS EC2 Linux 虚拟机 创建一个Amazon…

LeetCode_25_困难_K个一组翻转链表

文章目录 1. 题目2. 思路及代码实现&#xff08;Python&#xff09;2.1 模拟 1. 题目 给你链表的头节点 h e a d head head &#xff0c;每 k k k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k k k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节…

全面对比Amazon DocumentDB 与 MongoDB

在云中部署 MongoDB 似乎有多种选择。例如&#xff0c;Amazon DocumentDB自称是完全支持 MongoDB API 的 AWS 原生数据库。虽然它支持一些 MongoDB 功能&#xff0c;但需要注意的是 DocumentDB 并不完全兼容 MongoDB。要在 AWS 上访问功能齐全的“MongoDB 即服务”&#xff0c;…

单链表(下)

我们在单链表&#xff08;上&#xff09;中了解了一些需要实现的函数&#xff0c;这一篇就让我们一起来实现。 1.创建新节点 2.打印 3.尾插 4.头插 5.尾删 6.头删 7.查找 8.计算节点个数 9.在指定位置之前插入数据 10.在指定位置之前插入数据 11.删除指定位置的节点 12.删除指…

快速部署本地知识库大模型(Langchain+ChatGLM3)

使用AutoDL AI算力云&#xff1a;AutoDL算力云 | 弹性、好用、省钱。租GPU就上AutoDL&#xff0c;注册后充值后进入控制台 点击租用新实例&#xff0c;选择机器和社区镜像langchain-chatchat如下 创建成功后进去JupyterLab 打开终端运行如下命令 $ cd /root/Langchain-Chatch…

python编程从入门到实践答案二

python编程从入门到实践 第五章 if语句1.条件测试&#xff1a;2.更多的条件测试&#xff1a;3.外星人颜色#1&#xff1a;4. 外星人颜色#2&#xff1a;5. 外星人颜色#3&#xff1a;6. 人生的不同阶段&#xff1a;7. 喜欢的水果&#xff1a;8. 以特殊方式跟管理员打招呼&#xff…

基于springboot+vue实现高校学生党员发展管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现高校学生党员发展管理系统演示 摘要 随着高校学生规模的不断扩大&#xff0c;高校内的党员统计及发展管理工作面临较大的压力&#xff0c;高校信息化建设的不断优化发展也进一步促进了系统平台的应用&#xff0c;借助系统平台可以实现更加高效便捷的党员信息…

Elasticsearch从入门到精通-03基本语法学习

Elasticsearch从入门到精通-03基本语法学习 &#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是程序员行走的鱼 &#x1f4d6; 本篇主要介绍和大家一块学习一下ES基本语法,主要包括索引管理、文档管理、映射管理等内容 1.1 了解Restful ES对数据进行增、删、改、查是以…

Ajax (1)

什么是Ajax&#xff1a; 浏览器与服务器进行数据通讯的技术&#xff0c;动态数据交互 axios库地址&#xff1a; <script src"https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> 如何使用呢&#xff1f; 我们现有个感性的认识 <scr…