Fondant - 使大规模数据处理变得简单且可重用
项目描述
生产就绪 数据处理变得 简单 且 可共享
探索文档 »
🪤 为什么选择Fondant?
Fondant是一个数据框架,它使协作数据集构建成为可能。它旨在共同开发和使用数据集,共享可重用操作和完整的数据处理树。
Fondant 允许您初始化数据集、对这些数据集执行各种操作,并从其他用户那里加载数据集。它有助于执行托管服务上的操作、与他人共享操作以及跟踪您的数据集版本。Fondant 在不移动源数据的情况下实现所有这些功能。
💨 入门指南
Fondant 允许您轻松定义由可重用和自定义组件组成的流程。以下示例使用可重用的 load_from_hf_hub 组件从 Hugging Face Hub 加载数据集,并使用自定义组件对其进行处理,该组件将调整图像大小,从而生成新的数据集。
import pyarrow as pa
from fondant.dataset import Dataset
raw_data = Dataset.create(
"load_from_hf_hub",
arguments={
"dataset_name": "fondant-ai/fondant-cc-25m",
"n_rows_to_load": 100,
},
produces={
"alt_text": pa.string(),
"image_url": pa.string(),
"license_location": pa.string(),
"license_type": pa.string(),
"webpage_url": pa.string(),
"surt_url": pa.string(),
"top_level_domain": pa.string(),
},
)
images = raw_data.apply(
"download_images",
arguments={
"input_partition_rows": 100,
"resize_mode": "no",
},
)
dataset = images.apply(
"resize_images",
arguments={
"resize_width": 128,
"resize_height": 128,
},
)
自定义用例需要创建自定义组件。请查看我们的分步指南,了解更多关于如何构建自定义管道和组件的信息。
(回到顶部)
运行您的管道
一旦您有了管道,就可以轻松地使用内置的 CLI 运行(和编译)它。
fondant run local pipeline.py
要查看所有可用的运行器和参数,您可以在 fondant CLI 帮助页面进行检查。
fondant --help
或者对于子命令
fondant <subcommand> --help
(回到顶部)
🪄 Fondant 的工作原理
- 数据集:构建块,数据集是一组列。Fondant 通过数据集独特地运行。我们从数据集开始,将其增强为新数据集,并以数据集结束。Fondant 通过按需存储和加载列来优化数据传输。同时根据可用的分区进行处理。目标是使这些数据集可共享,并允许用户根据其他数据集创建自己的数据集。
- 操作:应用于数据集的转换,生成新数据集。操作将加载所需的列并产生新/修改后的列。转换可以是加载、过滤、添加列、写入等任何操作。Fondant 还使操作可共享,这样您就可以轻松地将操作用于工作流程。
- 可共享的树:数据集是应用其他数据集上的操作的结果。完整的谱系已内置其中。这不仅可以共享最终产品,还可以共享完整的历史记录,用户还可以轻松地基于数据集或从现有图形分支。
(回到顶部)
🧩 关键特性
以下是 Fondant 带来的好处
- 🔧 插件式可组合数据处理工作流程
- 🧩 包含现成可重用组件的库
- 🐼 用于创建自定义组件的简单 Pandas 接口
- 📊 内置谱系、缓存和数据探索器
- 🚀 适用于生产的可扩展部署
- ☁️ 与不同云(Vertex、Sagemaker、Kubeflow)的运行器集成
👉 查看我们的 组件中心 了解所有可用的组件概述
(回到顶部)
🪄 示例管道
我们为您创建了几个现成的示例管道,您可以将它们用作探索 Fondant 的起点。它们作为独立的存储库托管,包含笔记本教程,因此您可以轻松地克隆它们并开始。
📖 RAG 调优管道
用于索引和评估 RAG(检索增强生成)系统的端到端 Fondant 管道。
🛋️ ControlNet 室内设计管道
用于收集和加工数据以微调 ControlNet 模型的端到端 Fondant 管道,重点关注与室内设计相关的图像。
🖼️ 筛选创意共享许可图像
从我们的 Fondant-CC-25M 创意共享图像数据集开始,筛选并下载所需图像的端到端 Fondant 管道。
⚒️ 安装
首先,运行最小的 Fondant 安装程序
pip install fondant
Fondant 还包括针对特定运行器、存储集成和将组件发布到注册表的额外依赖项。默认情况下包括本地运行器(docker)的依赖项。
有关更详细的安装选项,请查看我们的文档中的安装页面。
👭 贡献
我们欢迎各种类型的贡献
问题 | 如果您遇到任何问题或错误,请将其作为GitHub问题提交。您也可以直接提交一个拉取请求来修复任何明显的错误。 |
建议和反馈 | 我们的路线图和优先级是基于社区反馈定义的。要提供输入,您可以加入我们的discord或在我们的GitHub Discussions中提交一个想法。 |
框架代码贡献 | 如果您想帮助Fondant框架的开发,请查看带有good first issue标签的问题。如果您想添加额外的功能,请先提交一个相关的问题。 |
可重用组件 | 扩展我们的可重用组件库是做出贡献的好方法。如果您构建了一个对其他用户有用的组件,请提交一个PR将其添加到components/目录。您可以在这里找到可能的可贡献组件列表,或者您的想法也欢迎! |
要详细了解路线图和日常开发,您可以查看我们的GitHub项目板。
您还可以查看我们的架构页面,熟悉Fondant架构和存储库结构。
环境设置
我们使用poetry和pre-commit来启用流畅的开发者流程。运行以下命令来设置您的开发环境
pip install poetry
poetry install --all-extras
pre-commit install
(回到顶部)
项目详情
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。