分享回顾|我们是神经搜索少年团!

de8f775f4c4552ec4e644fa9aca48880.jpeg

在坚持开放协作精神,具备全球影响力的 Jina AI 开源社区,每天都有来自世界各地的开发者来到这里,因为技术产生联结,因为联结产生共创。

在 10 月,Jina AI 联合太极图形、OpenMLDB、OpenPPL、电鸭社区、Ladies Who Tech、云启资本等合作伙伴,举办围绕开发者文化的 1024 嘉年华活动,一起做有意思的活动,发现有意思的开发者,共创有意思的项目!

在本次开发者嘉年华中,我们特别邀请了有意思的开发者来做程序员脱口秀,昨晚 8 点 GenZ 新生代开发者们完成了精彩的专场分享。他们一起分享了在开源社区中打磨技术的心得,并分享了他们在开源中学习,在社区里成长的故事。本文梳理汇总了三位开发者的分享内容,供大家参考。

38284e0638de9b47045441f80b6597be.jpeg

单茂轩:CLIP-as-service 贡献者

从两年前 BERT-as-service 最年轻的使用者,到现在 CLIP-as-service 最年轻的开发者。茂轩有着出类拔萃的学习能力,高质量的代码编写能力,是名副其实的生产力爆表小天才。高考结束后,茂轩立马加入 Jina AI 开启暑期实习,期间完成了重要 PR:通过实现 Multilingual CLIP 模型的支持,使得 CLIP-as-service 能够支持上百种语言。

除了对开源的热爱,18岁的大学生单茂轩还喜欢烹饪,养过5 只小动物。他从小学四年级就开始学习编程,小学六年级时便在校内创建了 30+ 成员的编程社团,进入高中后,他有了一个新身份 —— 北大附中校内智能助手「小虎」创始人。

Q

A

助手小J

Jina AI公众号

编辑

b58a475aadf6d7a7f04a176d5bfd4a4a.png

27c80b02cb90b3fb35a99086f673e462.png

单茂轩

CLIP-as-service贡献者

Q

茂轩最初对开源的了解源于什么呢,它对你来说意味着什么呢?

A

对开源有概念要追溯到小学的时候,当时读到了一本计算机科普书,里面提到了各个电脑操作系统的起源,其中就讲到了 Linux 系统是一个叫 Linus 的程序员,开发了一个操作系统内核,并把自己的代码都发布在互联网,其他程序员看到后也自发参与到开发工作中,一起开发改进。经由社区这样一代代迭代,最后 Linux 系统成为了世界上极具影响力的操作系统,也成为开源社区的代表。

此后随着我逐步接触编程,我又了解到 GitHub 这个网站,里面有各式各样的项目全都将源代码公开,也就越来越熟悉开源的理念了。

Q

是什么样的契机了解到 Jina 的呢?

A

在高中时,我开发了校内智能助手“小虎”来解答同学们在学校中遇到的各种问题,在考虑解决方案时,就发现了 Jina AI 创始人肖涵博士的 Bert-as-service 项目。与肖博士结识后,我就了解到了 Jina AI。

高中毕业之后,我就立刻投入到了对 Jina 生态的探索和实践中:从底层的数据结构 DocArray,到终端的 Flow,再到云端的 Jina Hub,Jina 生态中众多设计理念让我目不暇接。其中最吸引我的是 Jina Hub 的理念,于是我就开始尝试为社区做些事情。

Q

Jina Hub 的设计理念为什么会如此吸引你呢?

A

在 Jina 生态里,只要可以封装成 Executor,万物皆可 as service。而 Jina Hub 就像是 Jina AI 开发的 Executor 商店一样,它是自下而上去帮助解决社区其他用户的业务需求。

不论是 Jina AI 的开发者,还是来自社区的开发者,都可以通过将自己编写的 Executor 上传至 Jina Hub。当有其他开发者有同样需求时,他们就可以直接访问这个 Executor,只需要明白接口参数和返回信息即可。

这就形成了一个非常好的“人人为我,我为人人”这样一个共享的社区生态,也为整个社区创造了更多可能性。

Q

在两年前了解和使用到 Jina 生态,到现在成为 Jina AI 的贡献者,在这之间角色发生了重大转变,你的感受如何呢?

A

我加入开源贡献的时间还不长,要感谢加入 Jina AI 的契机,使得我能够和这些全球顶级开发者一起开发 CLIP-as-service。

CLIP-as-service 是 Jina AI 开发的能够提供文字和图片的向量表示的开源项目,我负责的是重构 CaS 的模型加载模块,来使它支持比原来多得多的模型。现在 CaS 不止能支持 Open AI、OpenCLIP 的模型,还支持了上百种语言的 Multilingual-CLIP 模型 ... 甚至可以让社区用户自主配置模型支持。经过一段时间的开发,我顺利完成了这个 XL Size 的 PR。在 CaS 0.5 版本中完成了迭代,并向整个社区公开发布。

在这里要特别感谢王峰博士在开发过程中给予的耐心指引,这件事是我目前为止最有成就感的事情,因为我为曾经帮助过我的项目做出了贡献。

杨小燕:DocArray 贡献者

本科毕业于清华大学工程物理系,目前是中国原子能科学研究院的核能数字反应堆方向的在读研究生。小燕多次参与开源社区项目,从一名国内的学生开发者,通过深入参与 Jina AI 社区的贡献,现逐步在全球开发者社区建立自己的影响力。

Q

A

小J助手

Jina AI公众号

编辑

419bfb98a238b5595bff8574505556f1.png

e83bfe10a7a82d80a5799c242da6fcac.png

杨小燕

DocArray 

项目贡献者

Q

小燕是从核物理跨行到程序员,编程对你最大的吸引力是什么呢?

A

编程几乎是现在大部分工科的必修课了,所以我在大一就开始接触编程,学完之后非常喜欢这种用代码去表达自己的逻辑的方式,这种和计算机对话的编程语言远比语文作文更吸引我。包括后来我做的一些科研项目,以及我研究生读的其实是数字反应堆方向,都和编程有着分不开的关系。将数学、物理算法通过编程语言进行实现。所以我是一直都在编程,也很享受这个编程的过程。

Q

小燕是什么样的契机了解到 Jina 的呢?

A

今年是参加开源之夏活动的时候,对 Jina AI “神经搜索”的概念非常感兴趣,就立马提交了项目申请书。

在一开始,我想的只是提升编程技术,在简历里增加一段项目经历,但没想到在 Jina AI 社区收获到的远远超了我的想象。我完成的项目是 DocArray & Redis|什么是比快更快的向量搜索。在项目开发过程中,通过 Jina AI 社区也和 Redis 社区展开了一些交流跟合作。并且在开发期间,DocArray 经常登上 GitHub 的 Trending,感觉就像登上了热搜。

除了代码之外,我也有在 Jina AI 社区做一些中英文的技术分享。给我带来了很多成就感,因为感觉自己不光提升了技术水平,并且感受到自己对开源所做的贡献被世界上其他开发者关注和认可。此外英语水平也提升了非常非常多。希望通过我的经历告诉大家,欢迎大家加入 Jina AI 社区,因为这里有各种各样的机会,让大家得到锻炼跟成长。 

Q

在和 Jina 社区一起成长的过程中,你的感受是如何呢,在和全球的开发者交流的时候,你有没有什么不一样的体验呢?

A

我个人觉得在开源社区中能收获多少,跟所在的开源社区的氛围非常有关。因为之前也有参加过其他社区的讨论或者开源的贡献。但在 Jina AI 社区就很明显感受到大家的热情和真诚,给予了我很多帮助。

因为从我一开始去了解这个项目,我的导师王博老师就为我做了非常详尽的介绍,从神经搜索的概念,到具体的技术。在开发过程中,每次遇到困难,或纠结于解决方案时,在这个过程中大家都会建立积极的讨论,会让你感受到不是自己一个人在努力,而是大家陪着你一起去完成了一个新功能的开发。

正因为 Jina AI 社区这样好的氛围,我也就能成长得更快一些。同时也因为 Jina AI 社区是一个非常全球化的社区,逼着我的英语很快地进步了很多。

韩颐堃:DataWhale 教程贡献者

四川大学大四学生,在 DataWhale 社区带领十余位课程贡献者们一起完成了基于 Jina 构建的跨模态搜索引擎教程。计划在毕业设计中使用 Jina 制作一个中国妖怪图像志搜索引擎。

Q

A

小J助手

Jina AI公众号

编辑

1028c56a7527f33cd304cd52c87ffa8f.png

8e690f2249e021f1bfa4a280c22e8a69.jpeg

韩颐堃

DataWhale  

教程贡献者

Q

小韩同学是怎样的契机了解到 Jina AI 社区的呢?

A

我的专业是信管,严格来说并不和计算机强相关。在大一下因为疫情,我就宅在家里每天给独立游戏写 mode。到大三那会,我跟老师做了一个项目,为一个词典做建模,一开始我是通过把词典里的数据全部标签化,再通过这种硬匹配的方式来查找。同时我也一直在试图寻找更加智能的解决方案。

后来在一个国外的会议上做分享的时候,看到了国外的开发者做了一个以文本搜索数字壁画,就第一次接触到了跨模态的搜索。在大三下,通过一系列经典的国外开源网课,就慢慢走进了 AI 的世界。再后来我就加入了 DataWhale 社区,看到有个非常有意思的基于 Jina 开发的跨模态搜索项目在招募课程贡献者,我就立马报名了,全程参与了课程的制作。感觉很荣幸参与到了 DataWhale 和 Jina AI 两个社区合作的教程制作中。

Jina AI 创意脑暴会

社区助手小J:大家分享了是如何与 Jina 结缘,以及怎样在开源技术社区成长起来的。我们接下来就进入到 Jina AI 创意脑暴会 —— 用 Jina 可以做哪些好玩的东西

65ae871cebf9872d21a8dee9302f126e.gif

单茂轩:这个是我暑假时做的项目,因为在 Jina AI 团队了解到多模态领域,当时就非常沉迷于此。通俗来讲,神经网络将文字和图片映射到同一片向量空间里,就可以通过文字和图片的向量进行相似度匹配,去达成文字搜索图片的目的。

刚好在 Jina AI 社区里面有一个用户,他就用 Jina 做了文字搜视频的应用。Jina 实例秀|输入描述就能自动剪视频?我很喜欢这个应用,但我也发现他写了好长的代码,因为他是模仿着 CLIP-as-service 代码,去使用 CLIP 模型,然后再套上一些 index 去做索引。当时我正在 CLIP-as-service 组工作,我就想挑战自己,怎么用 CLIP-as-service 把这个搜索的流程变得十分简化,十分灵活轻巧。那么最后我的挑战结果就是 60 行,60 行代码就可以完成这样一个用描述文本搜索短视频的跨模态应用。

核心逻辑是先分割出视频的关键片段,再去用文字来搜索对应片段。首先通过这个感知哈希的算法,比较两个帧的哈希值的相似度,也就是算出两个帧的哈希值之后,比较它们的相似度。如果相似度是大于 0.6 的,那么就认为这两张图片是相似的。如果小于 0.6 的话,就认为那一帧是一个关键帧,抽出关键帧之后,我们就可以将以每个关键帧作为分隔,分割出一段段视频。接着就可以根据关键帧,把文字视频搜索的任务转化成为图片搜索的任务。因为关键帧之后的那些帧都会跟它长得一样,否则它就不会是关键帧了,所以只需要搜索关键帧就可以了。那么我们就直接调用这个 CLIP-as-service 的 Client,它有一个 Python 的 SDK,用 Client 连接 Server,传入 Jina 的 DocumentArray 数据结构,再进行排序,就可以把排序后的结果直接返回给前端,就实现了这么一个 60 行代码的视频搜索。前端 30 行,后端 30 行。

12795a8c60acf73a5b779af0ba624f75.png


杨小燕:今天我们的主题是 GenZ 脱口秀,我最近也深深地沉迷在了脱口秀大会第五季的魅力中,也希望用 Jina 做一个跨模态的搜索应用,快速找到想看的“梗”。因为比如说我平时压力大或者无聊的时候,很喜欢看这种有趣的东西的剪辑。我就希望做一个用“梗”的文本快速搜索到“梗”视频片段的应用

比如这个节目里就是选手离过婚的非常多,所以表演里有各种各样的离婚梗。比如说当我想看离婚梗了,输入“笑果文化 离婚”,就能搜出来,不管是王建国也好,还是 Rock 也好,还是思文提到的离婚梗的这些片段。刚刚听完单同学的分享,我想我等会儿可以找他的 demo 试一试。

cc635b2784e71e5a7afcee565d25d01e.png


韩颐堃:这是我当时和老师一起敲定的毕业项目:基于中国妖怪图像志的 text-to-image search。因为每一个中国的妖怪都有很多的不同风格种类的图片,我们可以把它当成一个 dataclass。把这只妖不同种类的图片,比如最原始版本的图片、现在二创的图片、名字、原文言文的描述等等。把前沿的 AI 和中国传统文化结合起来

这块需要拿 Finetuner 微调一下,因为之前那个 Multilingual BERT 里加的就是传统的中文 BERT 不是北里的那一版古文的 BERT,所以可能还需要再微调一下,包括它的一些意向解读。

这个东西是有可推广性的,比如说现在很多游戏都有 Wiki,我这边临时找了一个原神的 Wiki,Wiki 其实说到底也是一个跨模态搜索应用,如果我们通过 Jina 生态来做的话,这一套也是完全可以做下来的。所以我觉得它是具有可推广性的。无论是中国传统文化也好,游戏素材也好,还是一些自成体系的东西,比如说漫威宇宙,或者哈利波特等等这些其实都是可以做的。

叶坚白:之前我和朋友们有一个想做的招聘场景下的创业项目,我有考虑用 Jina,因为大部分人的简历可能都是以 PDF 的形式存在的。如果公司要求每个候选人在招聘网站,按照表单填写规格的方式投递简历。就会显著增加用户成本,很有可能这一步会劝退一些人投递简历。但是如果只是要求他上传一个 PDF,就会很轻松。但问题在于 PDF 是一种非结构化的数据,信息读取起来没有那么轻松直接。

因为 Jina 很擅长处理非结构化数据,我们可以基于 Jina 做简历的 PDF Search,结合这个用户的经历,做一个多模态搜索:招聘方通过输入关键字,就能快速定位到适合的求职者。

如果你也想要像神经搜索少年团一样,在一个热情开放的技术社区收获成长,建立个人影响力,👇 请加入 Jina AI 社区!关注 github.com/jina-ai,点亮 Star, 加入 slack.jina.ai 社区,和全球开发者一起交流吧!

c6e23bd6c74317759a8db17823e6f9e0.png

程序员脱口秀预告

f5d4f50c9fed6f0128656c3734896898.png

他们是高级全栈工程师,资深云原生架构师,15+ 年行业从业经验的资深质量总监,但其实他们都是更资深的猫奴。是什么让他们心甘情愿当猫奴,有哪些被猫猫治愈的瞬间,又是如何在开发和养猫中修炼出武林秘籍的?10 月 16 号晚 8 点一起带上宠物来交友!

bd0044b907820a2516507da60b9f3bd7.png

硬核女孩召集!了解开源世界里的女性力量和她们的 Coding 日常!打泰拳的 AI 技术架构师博士,带着电脑游走 120+ 国家的产品经理,德国仪表公司的架构工程师,开源社区高级运营工程师 ... 10 月 20 号晚 8 点一起来了解她们的硬核成长故事。

 加入活动交流群 

扫描下方二维码,填写表单,即可加入「开发者嘉年华」交流群。

或访问以下地址,或点击「阅读原文」:

https://www.wjx.top/vm/wFnM3Lp.aspx# 

8ed2434355558208988a97c5e3b2d5de.jpeg

1024 嘉年华,一起来玩!报名完成即可加入“开发者嘉年华”微信群。

更多精彩内容(点击图片阅读)

c816189d3afbbf51e87eecdad93c2308.jpeg

ddc455542be039333dfad8584d1aeee2.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值