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

    文章

    1499

    浏览量

    61964
  • 数据库
    +关注

    关注

    7

    文章

    3794

    浏览量

    64362
  • 机器学习
    +关注

    关注

    66

    文章

    8406

    浏览量

    132565
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121111

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

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

收藏 人收藏

    评论

    相关推荐

    大模型卷价格,向量数据库“卷”什么?

    被大模型“带飞”这一年,向量数据库才刚刚写下序言
    的头像 发表于 05-23 09:24 1768次阅读
    大模型卷价格,<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>“卷”什么?

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

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

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

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

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

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

    提高Oracle的数据库性能

    问题。通过优化SQL语句效率、扩充高级缓冲区和配置重做日志缓冲区等几个方面介绍了Oracle数据库优化方法,探讨了OraCle如何提高性能优化的措施。通过测试Oracle查询结果表明,经过优化后的Oracle数据库缩短了响应时间
    发表于 11-11 18:16 4次下载

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

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

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

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

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

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

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

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

    北美有的,中国也有了!Zilliz Cloud向量数据库云服务重磅登场

    Milvus自2019年正式开源以来,已经成长为全球最大、最活跃的向量数据库开源项目与开发者社区。作为Milvus背后的开发者与运营者,Zilliz一直走在向量数据库的最前沿,始终秉承
    的头像 发表于 07-12 16:30 1089次阅读
    北美有的,中国也有了!Zilliz Cloud<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>云服务重磅登场

    向量数据库:AI时代的下一个热点

    AI大模型带火了向量数据库
    的头像 发表于 08-08 22:45 441次阅读

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

    向量数据库是一种以向量嵌入(高维向量)方式存储和管理非结构化数据(如文本、图像或音频)的数据库
    的头像 发表于 08-16 10:13 2416次阅读
    什么是<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>之间的区别是什么?

    探寻向量数据库爆火的真相,Zilliz 技术合伙人带你解惑

    大模型时代的到来将向量数据库的热度推向了高点,在此氛围下,有人发出了哲学家般的一问:究竟是大模型选择了向量数据库还是向量
    的头像 发表于 09-28 11:40 529次阅读
    探寻<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>爆火的真相,Zilliz 技术合伙人带你解惑

    搭载英伟达GPU,全球领先的向量数据库公司Zilliz发布Milvus2.4向量数据库

    在美国硅谷圣何塞召开的 NVIDIA GTC 大会上,全球领先的向量数据库公司 Zilliz 发布了 Milvus 2.4 版本。这是一款革命性的向量数据库系统,在业界首屈一指,它首次
    的头像 发表于 04-01 14:33 468次阅读
    搭载英伟达GPU,全球领先的<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>公司Zilliz发布Milvus2.4<b class='flag-5'>向量</b><b class='flag-5'>数据库</b>

    科技云报到:大模型时代下,向量数据库的野望

    科技云报到:大模型时代下,向量数据库的野望
    的头像 发表于 10-14 17:18 246次阅读