Qdrant - 原来向量搜索并没有那么神秘

qdrant向量搜索llmAI

先看看对于向量和向量搜索的概念表述:向量本身是一个数学概念,表示一个量既有大小,又有方向。在AI领域,向量搜索指的是一种利用机器学习技术将非结构化数据(如文本、图片、视频等)转换为多维向量(即嵌入表示),并通过计算这些向量之间的相似度来检索信息的技术。

然后结合实际项目,按照我粗浅的理解,大致可以认为原本存入数据库中的就是一段文字、一张图片、一个文件,经过AI向量化之后存的向量数据就带有了更多的特征。这样,原本进行搜索时需要的精确匹配就可以很轻松的变成模糊匹配、甚至语义化的匹配。

向量介绍_智能开放搜索OpenSearch(Open Search)-阿里云帮助中心

举个例子:

当我在微信的备注中给某个人添加了一段描述时,比如:“这是我老婆的哥哥的朋友,张三,他有显卡的一级代理,可以拿到很低的价格”。

正常来说,当我再想搜到这个人的时候,我需要用比较精确的关键词,比如:“显卡”、“代理”、“哥哥”等,但显然我很可能记不了这么清楚。

但如果这段文字被向量化处理之后再存储,我就可以通过语义化的表述来搜索,比如:“我老婆的哥哥有个朋友是显卡代理,他叫什么?”。

此时只需要把这个问题也进行向量化,就可以去和数据库中的向量进行匹配,最终根据获得数据的置信度排序后把记过再交给AI进行一次上下文联想,获得最终的答案。

而在上述过程中,文本的向量化、上下文联想问答这些都已经有成熟的API可以调用,前者需要考虑的是需要多少维度(可以理解为需要多少特征),后者就写好对应的prompt即可。

但向量的存储、搜索如何实现呢?

Qdrant的出现就是为了解决这个问题。

这一年多里,实际上已经涌现出很多的向量数据库,甚至一些老牌的数据库也已经通过插件的形式支持存储向量数据,但我之所以选择Qdrant的原因很简单,一是开源、二是对硬件要求低、三是文档很清晰。

这样我就可以在数据量不特别高的情况下,自己搭建一个向量数据库、服务接口来完成存储、搜索的环节,实际体验下来,确实很不错。

要知道阿里云和腾讯云基于开源的向量数据库提供的服务,动辄就要几千块每年了。

不充钱你会变得更强吗- 萌娘百科万物皆可萌的百科全书

部署的过程很简单,官方有docker,我还是通过dockpoly进行部署和管理,过程不再赘述。

部署之后,需要开放端口、根据文档写增删改查即可,这部是cursor帮我完成的,简直不要太丝滑。

最终,我实现的功能会更复杂一些,但基本脱离不开向量搜索的范畴,甚至我突然发现,以前很难实现的模糊搜索这不就搞定了?虽然有AI的成本,但deepseek这种鲶鱼的搅动下,这两年tokens的价格越来越白菜化了。

所以如果你也有类似的搜索需求,不要迟疑,抓紧搞起来吧!

留言板

Qdrant - 原来向量搜索并没有那么神秘

写信给我

交个朋友

  1. Wechat

    yflowerred

    聊会儿
  2. 即刻

    抱走大柠檬

    关注我
  3. Twitter X

    hugLemon

    关注我

友情链接

  1. Free PDF Tools

    免费PDF工具集合

    查看
  2. indie hacker tools

    独立开发者工具集合

    查看
  3. Jasmine Business

    Make your business easier in China.

    查看
  4. 乘风外贸工具导航

    外贸工具导航大全

    查看
  5. inWind乘风出海

    智能外贸生态服务平台

    查看
  6. Charcoal Go

    shisha & BBQ charcoal supplies

    查看
  7. Next.js中文文档

    Next.js中文文档和资源

    查看
  8. Corey

    Corey Chiu

    查看