DocArray 0.21.0版本发布!新增OpenSearch后端存储,支持Redis后端存储的多语言文本搜索!...

news2024/11/16 14:34:20

9ac81e167010123bb6420a1740e7ba61.png

github.com/docarray/docarray

DocArray 是一个用于处理、传输和存储多模态数据的 Python 工具包。DocArray 提供便捷的多模态数据处理功能,具备基于 Protobuf 提供高性能的网络传输性能,同时也为多种向量存储方案提供统一的 API 接口。

💡 DocArray 于 2022 年 1 月在开源 Apache 许可证 2.0 下发布。目前,它是 LF AI & Data Foundation 下的沙盒项目。

🌟 GitHub: https://github.com/docarray

🧑‍🤝‍🧑 Discord社区: https://discord.gg/WaMp6PVPgR

📖 官方文档:https://docarray.jina.ai/

此版本包含 3 项新功能,7 项错误修正和 5 项文档改进。

新功能

📦 OpenSearch 后端存储(#853)

现在 DocArray 增加了一个新的后端存储:OpenSearch!您可以使用 OpenSearch 后端存储对 Document 进行索引,并对它们进行 ANN 搜索

from docarray import Document, DocumentArray
import numpy as np

# Connect to OpenSearch instance
n_dim = 3

da = DocumentArray(
    storage='opensearch',
    config={'n_dim': n_dim},
)

# Index Documents
with da:
    da.extend(
        [
            Document(id=f'r{i}', embedding=i * np.ones(n_dim))
            for i in range(10)
        ]
    )

# Perform ANN search
np_query = np.ones(n_dim) * 8
results = da.find(np_query, limit=10)

此外,OpenSearch 后端存储还支持 过滤查询按文本搜索 和 按标签搜索

有关其用法的更多信息,请参阅 官方文档[1]

🎨 增加 Point Cloud 显示的颜色(#961)

现在您可以在 point cloud 数据中包含颜色信息,可以使用 display_point_cloud_tensor()可视化:

coords = np.load('a_red_motorbike/coords.npy')
colors = np.load('a_red_motorbike/coord_colors.npy')

doc = Document(
    tensor=coords,
    chunks=DocumentArray([Document(tensor=colors, name='point_cloud_colors')])
)
doc.display()

2749520aeee2e9ea2dd48721db50932b.png

🌎 支持 Redis 后端存储的多语言文本搜索(#953)

Redis 后端存储现在支持各种支持的语言的文本搜索。要设置所需语言,请在 Redis 配置中更改语言参数:

da = DocumentArray(
    storage='redis',
    config={
        'n_dim': 128,
        'index_text': True,
        'language': 'chinese',
    },
)

错误修正 🐞

1. 用空格替换换行符来修复图像中的显示(#963)

当文档字段中包含字符串'\n'时,doc.plot()会导致渲染错误。这次修复了这些错误,将'\n'渲染为空格。

2. 修正to_pydantic_model()中不需要的强制转换(#949)

此错误导致当调用 to_pydantic_model()to_dict() 时,所有形式为 'Infinity' 的字符串都会被强制转换为字符串 'inf'。现在已经修复,这些字符串将保留不变。

3. 在索引上而不是查询上计算相关文档(#950)

embed_and_evaluate()方法中,每个标签的相关文档数量原先是基于 document 自身计算的。这不一般正确,因此在此修复之后,根据索引数据中的文档计算量。

4. 删除列表类型偏移索引创建(#936)

当文档存储禁用了列表行为的功能时,它不再创建 id 映射的偏移量,这提高了性能。

5. 添加对远程音频文件的支持(#933)

从远程 URL 加载音频文件会导致 FileNotFoundError,现在已经修复。

6. 查询运算符$exists与标签不正确(#911)(#923)

在修复之前,$exists 会将 false-y 值(如 0[])视为不存在。现在已经修复。

7. 从单例列表中的数据类获取文档(#1018)

当使用 dataclass 创建多模态 Document 时,即使相应字段被注释为 List[...],单例的列表也被视为单个元素。现在我们已经考虑了这种情况,即使对于单一输入,访问这样的字段也将是产生 DocumentArray。

文档改进 📗

  • 新增 DocArray Discord[2]社区链接(#1010)

  • 减少版本以避免部署超时(#977)

  • 修正数据管理部分在文档中未出现(#967)

  • 在侧边栏中链接到 OpenSearch 文档(#960)

  • 将“多模态”修改为“数据类型”(#934)

贡献者 🤟

我们要感谢本次发布的所有贡献者!

  • Jay Bhambhani (@jay-bhambhani)

  • Alvin Prayuda (@alphinside)

  • Johannes Messner (@JohannesMessner)

  • samsja (@samsja)

  • Marco Luca Sbodio (@marcosbodio)

  • Anne Yang (@AnneYang720)

  • Michael Günther (@guenthermi)

  • AlaeddineAbdessalem (@alaeddine-13)

  • Han Xiao (@hanxiao)

  • Alex Cureton-Griffiths (@alexcg1)

  • Charlotte Gerhaher (@anna-charlotte)

参考资料

[1]

官方文档: https://docarray.jina.ai/advanced/document-store/opensearch/

[2]

Discord: https://discord.gg/WaMp6PVPgR

更多技术文章

⚖️ 模型微调,低预算,高期望!

🌪 开箱即用的云原生多模态系统解决方案

📖 Jina AI 创始人肖涵博士解读多模态AI的范式变革

🎨 语音生成图像任务|🚀 模型微调神器 Finetuner

👬 在 Jina AI 社区连接、分享、共创

238730344fda6b075e9fd5e0acea7f7a.png

点击“阅读原文”,即刻加入活动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三十三、Kubernetes中Service详解、实例第三篇

1、概述 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源&…

06.动态内存管理

1. 存在动态内存分配的原因我们已经掌握的内存开辟方式有:int val 20;//在栈空间上开辟四个字节 char arr[10] { 0 };//在栈空间上开辟10个字节的连续空间//写死了 //变长数组,int arr[n],变量的方式可以指定大小,并非意味着数组…

0th HPC Game小结

PART 1 - 基础知识 一、文件读取 二进制文件 mmap https://hpcgame.pku.edu.cn/demo/scow/api/proxy/relative/192.168.100.61/35515/ fread fwrite //readFILE* fi;if(fi fopen("input.bin", "rb")){fread(&p, sizeof(int), 1, fi);fread(&n,…

RabbitMQ之消息转换器

前言:大家好,我是小威,24届毕业生,曾经在某央企公司实习,目前在某税务公司。本篇文章将记录和分享RabbitMQ消息转换器的知识点。 本篇文章记录的基础知识,适合在学Java的小白,也适合复习中&…

深入理解机器学习——关联规则挖掘:基础知识

分类目录:《深入理解机器学习》总目录 许多商业企业在日复一日的运营中积聚了大量的数据。例如,食品商店的收银台每天都收集大量的顾客购物数据。下图给出一个这种数据的例子,通常称作购物篮事务(Market Basket Transaction&#…

Elasticsearch基本使用初体验01

ElasticSearch是一款非常强大的、基于Lucene的开源搜索及分析引擎;它是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 1.es的安装 工欲善其事,必先利其器;想要学es,我们…

九龙证券|磷酸铁锂电池包和铅酸电池有哪些区别?

目前,新能源汽车电动车一般用的电池有3种,铅酸蓄电池、镍氢充电电池、锂离子电池。伴随着电动车蓄电池技能工艺的升级换代,锂电池的发展壮大和应用领域日益持续上升。那么,磷酸铁锂电池包和铅酸电池有哪些差异呢?铅酸蓄…

PowerShell 美化(oh-my-posh)

文章目录PowerShell 美化一、 添加右键菜单1、 修改默认右键菜单2、 寻找安装目录3、 修改注册表二、 样式修改1、 环境安装2、 配置使用PowerShell 美化 一、 添加右键菜单 1、 修改默认右键菜单 直接使用这个命令可以将 win11 的右键菜单修改为 win10 的右键菜单&#xff1…

基础数学(三)位运算 JZ 15.位1的个数

正在刷DFS相关题的时候突然间,给我蹦出来这样一个回溯题: 401. 二进制手表 二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1&#xff…

maven 解决Cannot access alimaven以及Process terminated

maven 解决Cannot access alimaven以及Process terminated 目录maven 解决Cannot access alimaven以及Process terminated方案一:用idea打开settings.xml,更正红色报错方案二:将IDEA的Maven默认版本更换成你下载的maven文件夹方案三&#xff…

单片机堆栈知识总结

堆栈 在片内RAM中,常常要指定一个专门的区域来存放某些特别的数据 它遵循顺序存取和后进先出(LIFO/FILO)的原则,这个RAM区叫堆栈。 其实堆栈就是单片机中的一些存储单元,这些存储单元被指定保存一些特殊信息,比如地址&#xff0…

DFS(二)岛屿问题合集

目录 一、 463. 岛屿的周长 二、 130. 被围绕的区域 三、 200. 岛屿数量 四、695. 岛屿的最大面积 一、463. 岛屿的周长 给定一个 row x col 的二维网格地图 grid ,其中:grid[i][j] 1 表示陆地, grid[i][j] 0 表示水域。 网格中的格子 …

Java设计模式-解释器模式、解释器模式什么回事,抽象语法树又是什么

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 6.12 解释器模式 6.12.1 概述 思维:翻译识别机器,如解析由数字、“”、“-”号构成的合法运算序列,若将数字和字符看作结点&a…

Lesson 4.1 逻辑回归模型构建与多分类学习方法

文章目录一、广义线性模型(Generalized liner model)的基本定义二、对数几率模型与逻辑回归1. 对数几率模型(logit model)2. 逻辑回归与 Sigmoid 函数3. Sigmoid 函数性质三、逻辑回归模型输出结果与模型可解释性四、多分类学习与…

CPU缓存一致性

CPU缓存一致性写直达写回缓存一致性总线嗅探MESI协议CPU Cache通常分为三级缓存,L1Cache,L2Cache,L3Cache,级别越低的离CPU越近,访问速度越快,但同时容量越小,价格越贵。在多核的CPU中,每个核都…

今天大年三十,新年快乐,我在这里给大家整理了一下除夕的习俗,来看看吧

今天是大年三十,阿玥在这里祝大家,一来风水,二来平安,阖家欢乐,四季平安,五福临门,六六大顺,七星高照,八方来财,十全十美,新年好! 名字:不晓得 学习:python,c 主页:木有 今天给大家整理一下大年三十的习俗等小知识,就不更python啦 目录 除夕要做的事情有什么…

Meta CTO:真正的全天候轻量化AR眼镜,可能要到2030年

去年Meta发布了售价高达1500美元的VST头显Quest Pro,该头显与Meta的Quest 2等产品在定价、技术路径上有很大不同,其搭载了眼球追踪、彩色VST等更高端的功能,而产品发布后,外界对其反馈也褒贬不一。作为Pro产品线首个产品&#xff…

Markdown基础总结

Markdown Tools TyporaVSCode Markdown Preview Enhanced扩展 有道云笔记… 上述工具都能很好地支持markdown书写 Markdown标题 1 使用 和 - 标记一级和二级标题 和 - 标记语法格式如下: 我展示的是一级标题我展示的是二级标题 ---效果如下: 2 使用 # 号标…

Java设计模式-访问者模式、访问者模式怎么使用,具体是怎么用

继续整理记录这段时间来的收获,详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用! 6.10 访问者模式 6.10.1 定义 封装一些作用域某种数据结构中的各元素的操作,可以在不改变此数据结构的前提下定义作用于这些元素的新操作 6.10.2 结…

2023年新年烟花代码(背景音乐完整版)

文章目录前言烟花效果展示使用教程查看源码HTML代码CSS代码JavaScript新年祝福前言 大家过年好!新春佳节,在这个充满喜悦的日子里,愿新年的钟声带给你一份希望和期待,我相信,时空的距离不能阻隔你我,我的祝…