Project Icon

radient

多模态非结构化数据向量化和ETL开源工具

Radient是一款开源的非结构化数据处理工具,支持将音频、图形、图像、分子和文本等多种数据类型转换为嵌入向量。该项目不仅提供简单的向量化功能,还支持构建复杂的向量中心工作流。Radient特点包括易用性高、多模态支持、性能优化选项,以及完整的ETL流程构建能力,为开发者提供了高效处理非结构化数据的解决方案。

Radient

Radient 是一个对开发者友好的轻量级库,用于非结构化数据的 ETL,即将音频、图形、图像、分子、文本和其他数据类型转换为嵌入向量。Radient 支持简单的向量化以及复杂的以向量为中心的工作流程。

$ pip install radient

如果您觉得这个项目有帮助或有趣,请考虑给它一个星标。:star:

入门

基本的向量化可以按以下方式进行:

from radient import text_vectorizer
vz = text_vectorizer()
vz.vectorize("Hello, world!")
# Vector([-3.21440510e-02, -5.10351397e-02,  3.69579718e-02, ...])

上面的代码片段使用默认模型(即来自 sentence-transformersbge-small-en-v1.5)将字符串 "Hello, world!" 向量化。如果您的 Python 环境中没有 sentence-transformers 库,Radient 会提示您安装:

vz = text_vectorizer()
# Vectorizer requires sentence-transformers. Install? [Y/n]

您可以输入 "Y",让 Radient 自动为您安装。

每个向量化器都可以接受 method 参数以及可选的关键字参数,这些参数会直接传递给底层的向量化库。例如,我们可以通过以下方式使用 Mixbread AI 的 mxbai-embed-large-v1 模型和 sentence-transformers 库:

vz_mbai = text_vectorizer(method="sentence-transformers", model_name_or_path="mixedbread-ai/mxbai-embed-large-v1")
vz_mbai.vectorize("Hello, world!")
# Vector([ 0.01729078,  0.04468533,  0.00055427, ...])

不仅仅是文本

使用 Radient,您不仅限于文本。音频、图形、图像和分子也可以被向量化:

from radient import (
    audio_vectorizer,
    graph_vectorizer,
    image_vectorizer,
    molecule_vectorizer,
)
avec = audio_vectorizer().vectorize(str(Path.home() / "audio.wav"))
gvec = graph_vectorizer().vectorize(nx.karate_club_graph())
ivec = image_vectorizer().vectorize(str(Path.home() / "image.jpg"))
mvec = molecule_vectorizer().vectorize("O=C=O")

每种模态支持的方法和可选参数的部分列表可以在这里找到。

对于处理大量数据的生产用例,性能至关重要。Radient 还提供了 accelerate 函数来即时优化向量化器:

import numpy as np
vz = text_vectorizer()
vec0 = vz.vectorize("Hello, world!")
vz.accelerate()
vec1 = vz.vectorize("Hello, world!")
np.allclose(vec0, vec1)
# True

在 2.3 GHz 四核 Intel Core i7 上,原始向量化器需要约 32 毫秒,而加速后的向量化器只需约 17 毫秒。

构建非结构化数据 ETL

除了运行实验外,单纯的向量化用处不大。与结构化数据 ETL 管道类似,非结构化数据 ETL 工作负载通常需要四个组件的组合:存储非结构化数据的__数据源__、执行数据转换和预处理的一个或多个__转换__模块、将数据转换为语义丰富的嵌入向量的__向量化器__,以及用于持久化计算得到的向量的__接收器__。

Radient 提供了一个 Workflow 对象,专门用于构建以向量为中心的 ETL 应用程序。使用 Workflow,您可以将任意数量的这些组件组合成一个有向图。例如,一个从 Google Drive 持续读取文本文档、使用 Voyage AI 进行向量化,然后将向量存入 Milvus 的工作流可能如下所示:

from radient import make_operator
from radient import Workflow

extract = make_operator("source", method="google-drive", task_params={"folder": "My Files"})
transform = make_operator("transform", method="read-text", task_params={})
vectorize = make_operator("vectorizer", method="voyage-ai", modality="text", task_params={})
load = make_operator("sink", method="milvus", task_params={"operation": "insert"})

wf = (
    Workflow()
    .add(extract, name="extract")
    .add(transform, name="transform")
    .add(vectorize, name="vectorize")
    .add(load, name="load")
)

您可以通过为所有支持的操作符指定 accelerate=True 来在 Workflow 中使用加速的向量化器和转换器。

支持的向量化引擎

Radient 建立在更广泛的 ML 社区的工作基础之上。大多数向量化器来自其他库:

即时模型加速通过 ONNX 实现。

非常感谢这些库的所有创建者和维护者。

即将推出™

近期计划的一些功能(希望如此):

  1. 稀疏向量、二进制向量和多向量支持
  2. 支持 Huggingface 上所有相关的嵌入模型

LLM 连接器将不会是 Radient 提供的功能。围绕 LLM 构建上下文感知系统是一项复杂的任务,不是 Radient 打算解决的问题。如果您想要提取最大的 RAG 性能,可以考虑 HaystackLlamaindex 等许多优秀选项中的两个。

关于 Radient 的完整介绍将在稍后发布,届时还会附带更多示例应用,敬请期待。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号