查看原文
其他

分享回顾 | DocArray:为机器学习而生的数据结构!

Jina AI Jina AI 2023-03-21

Jina AI 高级工程师王峰应 CSDN 和示说技术沙龙邀请,进行了 DocArray 相关主题分享,本文为分享回顾。


没来得及观看直播的小伙伴,可点击下方小程序,查看完整回放:


【Show Notes】 

00:39    Jina AI 简介

01:58    DocArray 介绍

04:18    DocArray 产生背景

05:30    传统搜索 vs 神经搜索

16:20    DocArray 的设计目标

17:28    DocArray 的三个重要概念

31:28    在用户开发体验上的支持

37:18    以图搜图实战案例分享

42:23    Jina 全家桶使用介绍

关注 Jina AI 公众号,后台回复【DocArray】,获取讲师文档。



多种模态间如何兼容一致性和互补性?作为一种为机器学习而生的数据结构,DocArray 让多模态的存储难题迎刃而解!

 DocArray 是什么 
DocArray 是由 Jina AI 开发的,一种用来存储非结构化数据的数据结构工具包。它是一个小而精的入口,可以友好地带你走进机器学习的Python生态。本文将详细介绍 DocArray,带你走入多模态、跨模态的世界。

DocArray 能够将非结构化数据,统一成同一种数据结构。对于已经掌握 Python 的数据科学家和算法工程师来说,一定能迅速上手 DocArray;对于研发人员来说,DocArray 可以高效地处理、检索、推荐、存储及传输数据。使用 DocArray 将数据转换成 Protobuf 和 JSON 格式,并能方便地提交到远程服务器,非常便于大型项目的构建。

想了解更多,点击阅读原文,或复制链接到浏览器打开:https://docarray.jina.ai/

     DocArray 的产生背景 
    相比起传统搜索引擎,神经搜索借助深度学习技术,使用非结构化数据搜索非结构化数据。通过计算向量相似度,而不是关键字匹配,这使得搜索场景更加多样,搜索结果更加丰富。

    DocArray 的设计初衷便是解决用户非结构化数据的表征,以及网络传输问题。它的前身是 Jina 框架内的,根据用户反馈和市场需求,DocArray 最终被提取出来——不仅适用于 Jina 全家桶产品,也可以应用于其它场景,其它生态。

     DocArray 解决了什么 
    对于数据科学家和算法工程师们来说,可以使用 DocArray 表示原始数据,它提供了强大的可视化能力,以及和主流深度学习框架的集成。

    对于更加关心模型上线、落地、服务化的工程师们来说,将 DocArray 作为系统底层模块,能够快速将不同的数据序列化,转换成 Protobuf 和 JSON 格式,传输到远程服务器。

    另外一方面,DocArray 还解决了原型开发和实际产品落地上线的鸿沟。通过在算法和工程采用同一套数据结构,减少了工程和算法之间的沟通成本,并且极大地简化了工程的维护成本除此之外,DocArray 专门针对服务之间的通信传输做了优化,在本地开发之外,也可以快速适配在云上的场景

    基于强大的数据建模能力,DocArray 可以用于表示一些非常复杂的数据结构,并且能直观地表示多模态的数据。它的主要亮点在于分层、嵌套的存储。可以让第一层是视频,第二层是该视频的台词,第三层是视频的某一帧画面......这样能使得搜索的颗粒度,结构的多样性和结果的丰富度,都比传统关键词检索好很多。

     DocArray 的三个概念 
    • Document 是最基本的数据类型,帮助用户快速对非结构化数据进行表征。
    • DocumentArray 是表达多个 Document 的数据结构,可以简单地理解成一个 Python 列表。

    • Dataclass 是对 Document 更高层次的封装,可以更好地表示一个多模态的文档。你可以利用装饰器@dataclass,将该图片信息表示为如下代码片段。

    from docarray import dataclass, Documentfrom docarray.typing import Image, Text, JSON@dataclassclass WPArticle: banner: Image headline: Text    meta: JSON    a = WPArticle( banner='dog-cat-flight.png', headline='Everything to know about flying with pets, from picking your seats to keeping your animal calm', meta={ 'author': 'Nathan Diller', 'column': 'By the Way - A Post Travel Destination', },)


     DocArray 实战环节 
    • 通过一些简单的例子尝试用 DocArray 存储非结构化数据吧!
        https://docarray.jina.ai/datatypes/
    • 现已支持更多存储后端,如 ESQdrant
        https://docarray.jina.ai/advanced/document-store/
    • 阅读原文,获取更详细的文档介绍

    神经搜索、深度学习、推荐系统


    教程、demo、干货分享


    扫码备注加入讨论组

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



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存