Jina AI x 开源之夏|近似最近邻搜索算法HNSW的改进与优化

1b7067f91311ef6deef03dda073740e8.png

Jina AI 的开源向量索引产品 AnnLite 的核心近似搜索算法是基于 HNSW 来实现,并在此基础上提供了更加丰富的功能(例如支持前置过滤近似查询)。为了使得 AnnLite 能够具备更强的竞争力和实际应用价值,我们对 HNSW 算法进行了改进和优化。

10 月 26 日晚 7:00,我们邀请到了负责本优化项目的叶坚白,来分享《近似最近邻搜索算法 HNSW 的改进与优化》。

作者介绍

叶坚白 Jina AI 开源社区 AnnLite 贡献者,本硕就读于中国科学技术大学大数据学院。 

分享项目简介

项目名称:近似最近邻搜索算法 HNSW 的改进与优化

项目描述:针对海量向量数据的搜索,无论是工业界还是学术界都做了大量的研究。由于精确的向量搜索在海量数据的场景下搜索时间过长,所以目前的常见做法,是在向量上建立近似搜索索引。学术上我们称之为近似最近邻搜索 ANN (Approximate Nearest Neighbor Search) 问题,通常都是通过牺牲搜索精度来换取时间和空间的方式,从大量样本中获取最近邻。</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要搭建 Jina 搜图,需要遵循以下步骤: 1. 安装 Jina 首先,你需要安装 Jina。你可以通过 pip 安装它: ``` pip install jina ``` 2. 准备数据 接下来,你需要准备一些数据,以便 Jina 可以对其进行搜索。数据可以是图像、文本或任何其他类型的数据。你需要将这些数据存储在一个文件夹中。 3. 编写 Flow 使用 Jina 搜图的核心是创建一个流程(Flow)。流程定义了如何处理和搜索数据。你可以使用 JinaPython API 来定义流程。 例如,要创建一个简单的流程,可以使用以下代码: ```python from jina import Flow f = Flow().add(name='my_encoder', uses='jinahub+docker://MyAwesomeEncoder') ``` 在这个示例中,我们定义了一个流程,它使用名为 `my_encoder` 的编码器,并从 `jinahub` 中下载 Docker 镜像。 4. 运行 Flow 在定义了流程后,你可以使用以下命令运行它: ``` f.run() ``` 这将启动流程,并开始处理和搜索数据。 5. 搜索数据 一旦流程启动,你可以使用 Jina 的客户端 API 来搜索数据。例如,要搜索一个图像,可以使用以下代码: ```python from jina import Client, Document client = Client() image = Document(uri='path/to/image.jpg') response = client.search(inputs=[image]) ``` 在这个示例中,我们定义了一个 Jina 客户端,并搜索了一个名为 `image.jpg` 的图像。 这些是搭建 Jina 搜图的基本步骤。你可以根据自己的需求和数据类型来进一步定制和优化流程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值