0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Qdrant不只是高性能向量数据库

jf_wN0SrCdH 来源:Rust语言中文社区 2023-05-11 09:41 次阅读

Qdrant(读作 quadrant)是一个向量相似度搜索引擎和向量数据库。它提供了一个生产就绪的服务,并具有便捷的 API,用于存储、搜索和管理点,具有附加负载的向量。

ef924b3c-ef67-11ed-90ce-dac502259ad0.jpg

Qdrant 是专为扩展过滤支持而设计的,这使得它适用于各种基于神经网络或语义匹配、分面搜索等应用。

Qdrant 使用 Rust 编写,即使在高负载下也能快速、可靠地工作。至于性能文章后面有基准测试结果。

使用 Qdrant,embeddings或神经网络编码器可以直接转化为完备的应用程序,然后用于匹配、搜索、推荐等等!

github非常热门,每天均以500star速度飙升。

efa3ff26-ef67-11ed-90ce-dac502259ad0.jpg

什么是向量数据库

再搞清楚这个问题之前,先需要知道什么是向量(vector)。

什么是向量

AI领域中,向量是一个具有大小和方向的数学对象。它可以用来表示现实世界中的各种事物,例如图像、语音、文本等。

机器学习深度学习中,向量通常被用作表示数据的形式,其中每个向量的维度代表了不同的特征或属性。例如,在图像分类任务中,一个图像可以被表示为像素值组成的向量;在自然语言处理任务中,一句话可以被表示为单词嵌入(word embeddings)组成的向量。通过对这些向量进行计算和比较,机器可以从数据中提取出有用的信息,如相似性、聚类等。

拿比如人脸识别技术来说,计算机从照片或视频中提取出人脸的图像,然后将人脸图像转换为128维或者更高维度的向量。说到向量,就离不开embeddings。下面说下embeddings是什么。

什么是embeddings

embeddings是一个相对低维度的空间,可以将高维向量转换为低维度。embeddings使得在大型输入上搞机器学习更加容易,例如表示单词的稀疏向量。最理想的情况是,embeddings能够通过将语义上相似的输入放置在embeddings空间中彼此靠近来捕获输入的某些语义。可以在不同的模型中学习和重复使用嵌入。

这里有一个之前学习过的Google出品的机器学习的课程可以参考:

官方网站:

https://developers.google.com/machine-learning/crash-course/embeddings/video-lecture?hl=en
efc1bc14-ef67-11ed-90ce-dac502259ad0.jpg

什么是向量检索

向量搜索是一种使用机器学习模型在索引中检测对象间语义关系的方法,以找到具有相似特征的相关对象。

向量搜索和推荐的解决方案变得越来越常见。如果你想在你的网站上添加自然语言文本搜索、创建图像搜索或构建强大的推荐系统,那么你就需要考虑使用向量技术。

为什么需要向量数据库

上面的一些概念解释了之后,其实在 AI 领域中,向量数据库是为了更高效地存储和检索大规模高维度的向量数据而设计的。由于传统的数据库系统并不擅长处理向量数据,因此需要专门的向量数据库来支持各种应用场景,例如语义搜索、图像检索、推荐系统等。

与传统数据库不同,向量数据库可以使用特殊的索引结构和相似度度量方法,在高维度向量空间中快速查找相似的向量。例如,一些流行的向量数据库如 Faiss 和 Annoy 使用基于倒排索引和近似最近邻搜索(Approximate Nearest Neighbor Search)的技术,极大地加快了向量数据的查询速度。

向量数据库还提供了方便的 API 接口和工具库,使得用户可以轻松地将其集成到自己的应用程序中,并进行快速的向量搜索。因此,在许多需要处理大规模向量数据的 AI 应用中,向量数据库成为了不可或缺的组件。

qdrant如何使用

Python中直接使用一个基于内存的qdrant

pipinstallqdrant-client

python客户端提供了一种方便的方式在本地启动qrant:

fromqdrant_clientimportQdrantClient
qdrant=QdrantClient("")#创建一个内存Qdrant实例,可以用来测试CICD
#或者
client=QdrantClient(path="path/to/db")#持久化到磁盘

客户端

这是推荐在生产中使用的方法。使用命令直接运行容器:

dockerrun-p6333:6333qdrant/qdrant

现在,可以使用任何客户(包括Python)连接到服务端:

qdrant=QdrantClient("http://localhost:6333")

目前支持的客户端有:

  • 官方: Go client

  • 官方: Rust client

  • 官方: JavaScript/TypeScript client

  • 官方: Python client

  • 社区: Elixir

  • 社区: PHP

  • 社区: Ruby

  • 社区: Java

Demo示例工程

efdbb20e-ef67-11ed-90ce-dac502259ad0.jpg

总结

如今大模型浪潮浩浩荡荡,红红火火。向量数据库被看做是Ai Infra中最关键的一环,这种专门用于存储,索引和查询向量的数据库系统,可以让大模型更高效的存储和读取知识库,并且以更低成本的进行模型微调。Rust作为新基建的首选语言,也会在Ai infra中被大量采用。

一文告诉你为什么Mojo比python快35000x

一个用Rust写的Go编译器

极简而强大: 一个用 Rust 编写的 Shell 历史记录工具


审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1383

    浏览量

    60992
  • 数据库
    +关注

    关注

    7

    文章

    3591

    浏览量

    63373
  • 机器学习
    +关注

    关注

    66

    文章

    8126

    浏览量

    130571
  • 深度学习
    +关注

    关注

    73

    文章

    5239

    浏览量

    119912

原文标题:Qdrant不只是高性能向量数据库

文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    莫名被戳中的“不只是”体

    三星电视发起“不只是”体,金秀贤版本和三星UHD电视版本一出,机智的网友们,将各种时下热门纷纷打造成各种“不只是”体,加以调侃、唏嘘,只有你想不到,没有他们写不出。据说,只要参与创造不只是体的还有
    发表于 05-26 17:24

    莫名被戳中的“不只是”体

    三星电视发起“不只是”体,金秀贤版本和三星UHD电视版本一出,机智的网友们,将各种时下热门纷纷打造成各种“不只是”体,加以调侃、唏嘘,只有你想不到,没有他们写不出。据说,只要参与创造不只是体的还有
    发表于 05-26 17:26

    数据库连接

    在利用 LabVIEW数据库工具包操作数据库之前,需要先连接数据库,这就像操作文件之前,先要打开文件一样。在这里我们利用UDL连接数据库。Microsoft设计的ODBC标准只能访问关
    发表于 06-29 21:29

    阿里云云数据库开了一个未来大会,谈了谈2038年的数据库趋势

    的架构+专有的软件才能创造十年的辉煌。所以在未来,通用架构的时代一去不回,为数据库定制的架构将是主流依靠FPGA,25Gb网络,全新一代的处理器,以及高性能的存储引擎优化持续,NewSQL才能应对增长
    发表于 01-18 11:32

    使用NoSQL数据库的原因

    很大的支出; 横向扩展和纵向扩展:关系数据库一般只能是纵向扩展,通过对单机服务器的性能换代增强而实现;而对于扩展到多个服务器, DBMS先天不足;(DBMS不是设计给集群使用的)对数据的访问效率要求高
    发表于 05-27 06:43

    为什么说蓝牙技术不只是连接?

    蓝牙作为实现物联网的一种关键技术,如今它不只是连接,也将是智能的“标配”。虽然物联网尚未完全普及开来,但是很多人已经开始讨论AIoT了,也就是智慧互联。马云和雷军等大佬们不止一次在公开场合表示,AIoT才是未来物联网的终极形态,这也就意味着仅仅靠连接技术,很难抢占未来巨大的IoT蓝海市场。
    发表于 09-11 11:51

    数据库设计及开发规范之sql性能优化

    数据库设计及开发规范,sql性能优化
    发表于 05-08 10:58

    最新国产数据库排名

    最新国产数据库排名,本篇文章约14000字,包含如下5部分内容:1.开篇2.国产数据库产品清单,包括产品名称,产品类别及厂商名称;3.国产数据库各产品概述,产品基本介绍、应用场景等;4.国产
    发表于 07-28 08:06

    【数转视野】不只是科技企业 传统企业更需要数字化转型

    【数转视野】不只是科技企业 传统企业更需要数字化转型
    的头像 发表于 06-27 19:39 3247次阅读

    未来LED显示不只是一个产品,而会是一个应用!

    ,随着COB、Mini LED/Micro LED显示的不断发展,以及大屏智能化加快,LED显示屏也正朝着数字时代、人工智能、人机交互、万物互联前进,未来LED显示不只是产品,而会是一个应用!
    的头像 发表于 07-30 16:58 4509次阅读

    工业投影设计——不只是为了观看

    工业投影设计——不只是为了观看
    发表于 11-02 08:15 0次下载
    工业投影设计——<b class='flag-5'>不只是</b>为了观看

    3问顶尖银行CFO:数字化转型不只是IT问题

    上云别盲目 五步解千愁! 关注 微 软科技视频号 了解更多企业上云资讯 ‍ ‍ 点亮在看,给BUG点好看 原文标题:3问顶尖银行CFO:数字化转型不只是IT问题 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 02-23 07:10 302次阅读

    爱可生向量数据库基于昇腾AI实现全面升级

        近日,在深圳昇腾创新中心的支持下,爱可生向量数据库(TensorDB)完成了与华为Atlas 800推理服务器和全场景AI框架昇思MindSpore的兼容性测试,实现了爱可生向量检索技术
    的头像 发表于 03-23 10:40 807次阅读

    向量数据库是如何工作的?

    向量数据库和 Embedding 是当前 AI 领域的热门话题。
    的头像 发表于 06-18 11:06 568次阅读
    <b class='flag-5'>向量</b><b class='flag-5'>数据库</b>是如何工作的?

    什么是向量数据库?关系数据库向量数据库之间的区别是什么?

    向量数据库是一种以向量嵌入(高维向量)方式存储和管理非结构化数据(如文本、图像或音频)的数据库
    的头像 发表于 08-16 10:13 1301次阅读
    什么是<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>?关系<b class='flag-5'>数据库</b>和<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>之间的区别是什么?