乐趣区

关于人工智能:技术分享预告|DocArray-x-Redis-比快更快的向量搜索

从国内的学生开发者,到深刻参加国际化开源社区。小燕主动出击,不放过任何一个奉献机会。快来看看原子能迷信研究院核物理业余小姐姐的神仙输入!

北京工夫 10 月 11 号,本周二晚 10 点,小燕将在 Zoom 平台,面向寰球开发者,进行全英文技术分享《Lightning fast Vector Search with DocArray and Redis》

复制 https://jina-ai.zoom.us/j/834… 到浏览器,即可退出直播!

作者介绍

Jina AI 社区 DocArray 贡献者杨小燕,中国原子能迷信研究院的核能迷信与工程业余硕士二年级在读,本科毕业于清华大学工程物理系。

分享我的项目简介

项目名称:反对基于 Redis 的近似最近邻搜寻

我的项目形容:神经搜寻特指应用人工神经网络模型的搜寻零碎。很多常见的搜寻利用,比方以图搜图,听声辨乐,都须要神经搜寻。在神经搜寻零碎中,所有的文件会通过人工神经网络被示意为一个向量并存储在索引中。当用户进行搜寻时,用户的查问指标也会被示意为一个向量。通过比拟查问向量与索引向量的类似度 / 间隔,咱们能够找到最为匹配的文件。

基于神经网络的搜寻通常须要在短时间内查问到最类似的文件。这依赖于近似最近邻搜寻(Approximately Nearest Neightbour Search),简称 ANN 搜寻。作为一个前沿钻研畛域,学者们曾经提出很多高效的 ANN 算法。Redis 数据库目前曾经反对基于图的 ANN 搜索算法:HNSW,该算法可能最大水平的达到检索召回率和检索工夫的均衡。

DocArray 作为 Jina AI 神经搜寻全家桶的底层模块,可能帮忙开发者疾速开发者疾速搜寻零碎。在 DocArray 中,咱们曾经反对了多种向量数据库作为存储后盾,如 ANNLite,Weaviate,Qdrant 以及 Elasticsearch。为了帮忙 Redis 社区的开发者,咱们心愿反对 Redis 数据库作为 DocArray 的存储后盾,帮忙用户高效的进行向量检索。

我的项目要求:
须要在 DocArray 中集成 Redis 作为存储后盾 

代码有残缺的文档及单元测试、集成测试 

须要在 DocArray 中产出 Redis ANN 搜寻的基准

我的项目导师: 王博

我的项目链接: https://summer-ospp.ac.cn/#/o…

开发详情

初识我的项目

在浏览往年的社区及我的项目列表时,Jina 及其神经搜寻的概念一下子吸引了我,于是我向我的项目导师王博发送了征询邮件。导师不仅很快回复,还向我具体介绍了 DocArray 和我的项目意义。Neural Search 能够实现跨模态的搜寻,使搜寻不再局限于文本匹配,而应用 DocArray 能够疾速对一组非结构化的数据进行表征,实现 Docarray 的 Redis 数据库反对,不仅能将数据存储在 Redis 中,更能应用 RedisSearch 模块实现高效的向量搜寻。导师的沟通不仅让我疾速学习了相干背景,也让我感触到社区激情敌对的气氛。

我的项目开发

7 月份,我次要进行了 DocArray 与 Redis 的学习、我的项目技术计划的设计,并将较为具体的我的项目技术计划展现给来自世界各国的社区维护者。8 月份,在具体设计的根底上,我得以疾速实现 DocumentArrayRedis 类,包含 DocArray 与 Redis 数据库的交互、数据的增删改查和向量搜寻性能。9 月份,我进一步补充了多种搜寻逻辑和全文搜寻性能,并在 Jina 社区做了屡次中英文的我的项目成绩分享。

次要成绩

DocArray x Redis 向量搜寻

输入后果 DocArray x Redis 全文搜寻

输入后果更多成绩请点击:https://docarray.jina.ai/adva…

开发者随访

Q(开源之夏小助手): 这是你第二次加入开源之夏了,为什么抉择参加开源之夏?

A(小燕): 作为非计算机专业的学生,参加开源是十分好的晋升技术的形式。开源之夏不仅会集了丰盛的社区和选题,更通过高质量的流动组织让我能取得导师和社区的领导以及与其他同学的交换。

Q(开源之夏小助手): 在我的项目开发过程中遇到到印象最粗浅的艰难 / 问题是什么?是如何解决的呢?

A(小燕): 往年的我的项目是实现 Docarray 的 Redis 数据库反对,性能中很多与 Redis 联合的性能都十分“小众”,Redis 官网文档均为 Redis 命令的解释“字符串”组成的解释阐明,而目前 redis-py 包中 search 相干命令的手册和应用示例则少之又少,因而我必须通过浏览源码来应用 redis-py 并用优雅的 Python 代码实现所需性能。在这个过程中我还顺便发现了 redis-py 的小 Bug,并向对方社区提出了 Issue 和 PR。

Q(开源之夏小助手): 你是从什么时候开始接触开源的?有什么特地的经验吗?

A(小燕): 我是从 2021 年参加 openEuler 高校开发者大赛及随后的开源之夏流动开始真正参加开源的。往年的我的项目 DocArray x Redis 的联合,使得 Jina AI 社区与 Redis 社区建设了交换与单干;在我的项目开发期间,DocArray 登上 GitHub Trending 并增长至 1100 star;我的项目的无关 PR 也在 DocArray 的新性能 release 中被提及;通过中英文平台公开分享我的项目内容……看到本人的奉献能随着社区倒退取得一些关注,十分有成就感。

Q(开源之夏小助手): 在开源社区里学习工作时一种什么体验?

A(小燕): Jina AI 社区是一个沉闷且全球化的社区。在导师的帮忙下,我与社区其余核心成员有了充沛的交换,在不同计划中纠结时他们会提出倡议,每次提交 PR 后也会独特 review,使得相干性能的实现更加粗疏与完满。同时社区成员来自世界各国,也“迫使”我的英语口语能力在短期内疾速晋升。

Q(开源之夏小助手): 给筹备参加开源之夏的学弟学妹们一些倡议吧

A(小燕): 在我的项目申请阶段要对有趣味的我的项目都应该敢于迈出第一步,去浏览相干的源码、文档,带着本人初步的思考与设计找导师沟通,才更有效率也更容易当选。

直播流动

流动工夫 
2022 年 10 月 11 日 周二晚 22:00 – 23:00 

报名形式  
复制 https://jina-ai.zoom.us/j/834… 到浏览器

退出移动版