五大向量数据库入门横评

news2024/12/27 13:35:30

本文内容节选自 Paxi.ai 文章分享,Paxi.ai是一个基于GPT-4打造的帮助用户快速使用AI的AI工具,对内容感兴趣的朋友可以上他们官网查看。

从OpenAI发布GPT以来,AI尤其以LLM为代表的项目发展迅速,相信大家已经了解到大语言模型的魅力了,我们基于大语言模型的能力可以开发很多应用。提到这些应用,那么很大概率离不开向量数据库了。向量数据库是大语言模型计算句子相关性中最重要的环节,市面上的向量数据库也随着AI的火热如雨后春笋般出现,例如有:Annoy, AtlasDB, AnalyticDB, DeepLake, DocArrayHnswSearch, DocArrayInMemorySearch, FAISS, LanceDB, Milvus, MyScale, OpenSearch, PGVector, SuperbaseVectorStore, Tair, Waviate, Qdrant, Pincone, Chroma, ElasticSearch, Redis, Typesense, Zilliz…

这些里面有一些已经是很成熟的商业产品了,还有的只是Github上的社区小项目,我们认真研究后挑选其中最具代表性的5款产品进行了调研。按介绍顺序分别是: Pincone, Qdrant, Waviate, Milvus, Chroma。今天先介绍Pincone

Pincone

 

Pincone 可以算是当前最火的商业向量数据库产品了,它最近获得了1亿美元的B轮融资,估值达到7.5 亿美元,它还是OpenAI官方首推的向量数据库。

他们公司2021年才推出自己的向量数据库产品,可以算一个很年轻的公司。目标是为大语言模型带来长期记忆功能。付费的客户有 Shopify, Gong, HubSpot, Paxi 和 Zapier 等。

它的逻辑如下:

当用户输入文本内容后,通过嵌入模型计算出文本对应的向量数据。将向量数据带入向量数据库利用距离函数计算出高维空间中距离相似的内容,也就是我们常说的语义搜索。最后将结果返回给应用层处理后反馈给用户。

Pincone有以下几个特点

  • 高性能搜索

Pincone只提供了网络部署,通过高性能服务器搭配自研索引查找算法,可以快速的计算内容之间的相似性,即便有数十亿数量级的内容利用Pincone也能低延迟响应,给用户提供最好的体验。

  • 提供容易上手API

提供Python、NodeJS、RestFulAPI,轻松对接数据管理。

  • 全功能管理

通过独特的索引生成算法,对于添加、编辑或删除的数据能进行索引实时更新,立即生效。通过提供的WebUI终端实时就能看到数据变动。另外将矢量数据和元数据进行绑定结合,快速找到对应内容。

  • 轻松扩容

完全托管在 AWS 或 Google 的高性能计算平台上,自动扩容,无需担心架构或算法,也无需安排专业运维团队,这一切都自动帮你搞定。一开始提供免费容量,只有超过免费容量后按使用量收费,可根据产品运营状态随时调整成本。

 

 

Pincone能干什么?

当你逐步了解到ChatGPT能力后,你就会迫切希望它能有长期记忆能力,那么向量数据库就是做这个事的。利用向量数据库后可以实现很多功能,例如:

  • 搜索: 包括语义搜索,产品搜索,多模态搜索和问答。
  • 生成: 包括聊天机器人、文本生成、图像生成等。
  • 安全: 异常检测、欺诈识别、机器人/威胁检测、身份验证。
  • 个性化: 建议、排名、广告、候补等。
  • 分析与机器学习: 数据标注、模型训练、分子搜索、生成式人工智能。
  • 数据管理: 模式匹配、去重、分组、标记。

目前AI产品80%都需要用到向量数据库提供的这些能力。

如何接入Pincone

首先打开官网: Vector Database for Vector Search | Pinecone, 点击右上角“免费注册”

 填入邮箱密码后进入WebUI管理后台。

 这里左边一共有5个功能,分别是:

项目:

免费帐号只能创建一个默认工程,与其他用户共享设备硬件性能。做测试调试完全够用了,如果想商业化应用最好还是付费。

索引:

这里的索引可以理解为传统的数据库概念,一个索引即一个数据库,另外向量数据库没有表的概念,因此这里一个索引也是一张表,稍后会介绍如何在一个索引里实现多个表的能力。

 点击索引后会让你创建一个:

 这里的索引名填数据库名字,也可以填项目名,例如”paxi”,他会要求全小写。

维度这里填你的嵌入数据维度,如果使用chatGPT那么就是1536维,每个模型具体维度不同,需要仔细研究你使用的模型。

距离函数可以根据你的需要勾选,默认选择余弦函数。

Pod的类型根据自己需要选择。

S1: 高存储

P1: 高性能

P2: 顶配

这里有点需要注意的是:

免费用户如果数据库7天内没有交互就会被清空

创建成功后就是这个样子了。

 集合:

集合是索引数据库的快照。

 创建集合非常简单,给它起个名字就行

快照可以理解为当时的索引备份,用于任何时候恢复数据用,也可以当作各个版本的数据备份。免费用户只能创建一个集合。

 APIKey:

使用Python、NodeJS、RestFul API对数据库进行增删查改工作。这里不演示APIKey的用法,具体示例可以参考官方文档。 Overview

成员:

邀请其他成员共同管理项目。

数据管理

数据管理部分介绍如何使用WebUI对数据进行管理,其实它的API也相当简单,就是基础的RestFulAPI调用,这里不做介绍。

 这里分别显示了索引名字,索引网址,配置环境,距离算法,Pod类型,维度,使用情况等。

索引部分显示了当前的总向量数,命名空间,和各命名空间的索引数。这里的命名空间就可以对应到传统数据库里的表概念了。

 度量部分用来查看数据使用情况。

 最下面的部分就是对数据库进行操作了

UPSERT 增加或修改数据

QUERY 查询数据

UPDATE 修改数据

FETCH 获取数据

DELETE 删除数据

 

这些操作都支持文件批量操作,Json编辑器提交,也支持cURL调用。

值得一提的是,文件批量操作对中文不友好,上传中文内容会变成乱码,JSON编辑器和cURL操作没这个问题

总结

坦率的说,Pincone确实是一款简单易上手对初学者友好的向量数据库。其提供的免费空间也够大多数场景使用了,方便的API,简单的WebUI,无需部署,自动扩容等都做的非常易用。唯一的缺点是相对其他产品,费用起点较高。对于刚接触向量数据库的伙伴来说,强烈推荐!

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

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

相关文章

apk 作为资源提供 aar 的过程

1:参考:Android将APK项目封装为SDK(AAR) https://blog.csdn.net/weixin_51522235/article/details/128216091 四大点:1: apply plugin:com.android.library 2:去掉:applicationId 3:去掉:applicationVariants.all…

MySQL:触发器、权限管理

一、学习目标 了解什么是触发器掌握创建触发器的方法掌握查看触发器的方法掌握触发器的使用技巧掌握删除触发器的方法熟练掌握使用触发器的方法和技巧了解什么是权限表掌握权限表的用法掌握账户管理的方法掌握权限管理的方法掌握访问控制的方法熟练掌握新建用户的方法和技巧了…

小程序加weui或者TDesign安装

WeUI样式库展示:https://weui.io/ 微信官方WeUI相关文档:https://wechat-miniprogram.github.io/weui/docs/ WeUI-wxss 项目地址:https://github.com/Tencent/weui-wxss 安装 ,1.先安装node.js 2.建立或者打开已经有的项目。…

【SolVES 模型】生态系统服务功能社会价值评估(基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言)

SolVES模型(Social Values for Ecosystem Services)全称为生态系统服务社会价值模型,是由美国地质勘探局和美国科罗拉多州立大学联合开发的一款地理信息系统应用程序,开发该模型的目的主要是对生态系统服务功能中的社会价值进行空…

敏捷与瀑布:哪种项目管理方法适合你的企业?

​良好的项目管理可以改变企业的工作流,在减少混乱因素的同时注入方向和组织性。 同时,"项目管理 "对每个人来说并不意味着完全相同的事情。在企业及其客户中,最重要的两种项目管理方法是敏捷和瀑布。而这两种风格之间的差异很大&…

Redis是单线程还是多线程?揭开性能之谜!

大家好,我是小米,在这个充满技术乐趣的小天地里,今天我们来探讨一个备受争议的话题——Redis是单线程还是多线程?这个问题一直困扰着Redis的用户,让我们一起揭开性能之谜吧! Redis作为一款高性能键值存储系…

交换机故障恢复

通常情况下,可以为交换机设置enable密码来提供安全,在没有enable密码的情况下,无法对交换机修改任何配置,因此,在忘记enable密码的时候,就意味着无法改动交换机信息。但是,如果能够物理上接触到…

实施办公自动化系统需要注意什么?

办公自动化系统的好处很容易理解。几乎每个企业都会欢迎更高的准确性、效率和利润率。办公自动化这个过程似乎势不可挡,那么该如何实现和管理呢? 决定自动化的内容 在实施办公自动化系统之前,企业将需要花时间研究哪些具体的流程需要自动化…

Go语言核心编程-基本数据类型篇

第 3 章 Golang 变量 3.1 为什么需要变量 3.1.1一个程序就是一个世界 3.1.2变量是程序的基本组成单位 不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如一个示意图: func getVal(numl int, num2 int) (int, int) {sum : num1 n…

【数字敏捷性】上海道宁与​SolarWinds为您提供全面的可观察性、IT 服务管理和数据库管理

SolarWinds Platform是 业界先进的统一监控 可观察性和服务管理平台 它是新一代SolarWinds 可观察性解决方案的基础 并提供了我们如何 为客户解决可观察性挑战的架构 网络管理工具 从配置和流量智能到 性能监控和拓扑映射 可以轻松查看、理解和解决问题 一种集成的多…

【数据结构】--单链表力扣面试题②反转链表

目录 法一:直接反转法 法二:头插法 题述:给你单链表的头结点head,请你反转链表,并返回反转后的链表。 题目已知链表创建,并给了reverseList的函数头。 struct ListNode* reverseList(struct ListNode* he…

Maven属性与版本管理

文章目录 1 属性1.1 问题分析1.2 解决步骤步骤1:父工程中定义属性步骤2:修改依赖的version 2 配置文件加载属性步骤1:父工程定义属性步骤2:jdbc.properties文件中引用属性步骤3:设置maven过滤文件范围步骤4:测试是否生效 3 版本管理 在这一章节内容中,我们将学习两个…

ROS学习(1)——ROS1和ROS2的区别

因为机器人是一个系统工程,它包括了机械臂结构,电子电路,驱动程序,通信框架,组装集成,调试和各种感知决策算法等方面,任何一个人甚至是一个公司都不可能完成机器人系统的研发工作 。但是我们又希…

【黑科技】基于GPT开发的4款免费AI办公神器,实用又强悍!

今天给大家推荐4个非常实用且非常强悍的工具,基于GPT开发的AI工具 ,每一款都能够大大提升我们的学习和工作效率 ,希望你能看到并在收藏的同时点个赞或关注,万分感谢 。 Chat2doc 这是一个对学生党和打工人都特别有用的AI工具 &a…

西米支付:数字人民币常识普及

1.1 什么是数字人民币? 数字人民币 (英文简称: e-CNY) 是由人民银行发行的数字形式的法定货币 ,由指定 运营机构参与运营 ,以广义账户体系为基础 ,支持银行账户松耦合功能 (意味着用户既可 以选择将数字人民币钱包与自…

GstOverlay 绑定多个gtk 窗口

主题说明 在spice stream 模式下,为了实现流畅的显示,利用gstvideooverlay 接口实现了gstreamer pipeline 的输出直接绑定到gtk 的窗口下。 然而spice客户端采用的是playbin 插件当前只能绑定一个窗口,当需要采用多窗口模式时,当…

VMware安装win10虚拟机教程及常见问题

win10虚拟机安装教程 一、前言 1. 准备VMware虚拟机(可自行到VMware官网 或 点击链接 下载正版VMware Workstation Pro)。 2. 准备需要安装的win10镜像,下载地址:下载 Windows 10。 3. 文章不一定合适每位安装虚拟机的人&#x…

代理模式及对startActivity的Hook应用

定义 简而言之,就是让代理类和目标类(被代理类)实现同一个接口,并让代理类持有一个目标类的对象,这样对代理类的访问,可以转移到目标类的访问中去。我们可以在不修改目标类的情况下,在代理类中实…

Cesium源码分享--标绘

Cesium标绘插件 在线api文档说明 在线体验地址1(三维框架内) 在线体验地址2 更多案例地址 免费gis数据 ps:如果可以的话,希望大家能给我个star,好让我有更新下去的动力; 实现原理: 其中实…

RSS订阅无需代码连接飞书自建的方法

RSS订阅用户使用场景: 公司为倡导员工阅读文化以及提高自身素质,通过RSS订阅一些书籍,然后由相关部分负责人每日推送到部门群,便员工们能够随时获取到最新的读书消息。但负责人时常会忘记,且人工手动复制粘贴多项信息比…