OpenDCAI/DataFlow

[SIGMOD'27] Easy Data Preparation with latest LLMs-based Operators and Pipelines.

📦 DataFlow – LLM 训练数据流水线的一站式平台

是什么 – DataFlow 是一个开源 Python 框架,可将原始的、嘈杂的文本(PDF、网络爬取、电子表格等)转化为用于训练或增强大语言模型的高质量数据集。它通过一个 低代码、可视化 的流水线构建器和一个可重用的 操作符(例如生成器、评估器、过滤器)库来实现这一目标。可选的 AI 助手(DataFlow-Agent)甚至可以自动编写新的操作符并将其组合在一起。


🎯 核心理念

理念 为何重要
基于操作符的流水线 每个步骤(例如提取文本、运行 LLM 生成答案、过滤低质量行)都是一个独立的、版本控制的组件。流水线可复现、可共享,并可轻松替换为不同的模型或启发式方法。
可视化 / 低代码 UI dataflow webui 启动一个拖拽式编辑器(或自然语言聊天),无需编写样板 Python 代码即可连接操作符。
面向数据驱动的 AI 专注于 LLM 开发的 数据侧:合成、清洗、评估和过滤,适用于医疗、金融、法律或学术研究等领域。
可扩展的生态系统 一系列配套仓库——DataFlow-Skills(教程)、DataFlow-WebUI、DataFlow-Ecosystem(插件操作符),以及 RayOrch(分布式执行)。
代理式辅助 DataFlow-Agent 可分析任务描述,生成操作符代码,并即时组合出流水线。

⚙️ 主要功能(如 README 所列)

  1. 预置流水线,适用于常见任务:
    • 文本问答挖掘、推理增强问答、文本到 SQL 生成、知识库清洗、代理式 RAG 提取。
  2. 100 多个操作符,涵盖生成、评估、过滤和领域特定处理。您也可以创建自定义操作符并通过 GitHub 或 PyPI 发布。
  3. 可复现性与共享性 – 流水线仅为 Python/YAML 配置文件,可像代码一样进行版本控制。
  4. 可扩展执行 – 可选的 RayOrch 层可在多个 GPU 或集群上调度任务。
  5. Web UI 与 CLI – dataflow webui 用于可视化编辑;dataflow CLI 用于快速运行和版本检查。
  6. 社区扩展 – 例如,来自中国联通的语音质量清洗插件。

🚀 快速开始(来自 README)

# 首先安装快速安装器 "uv"(可选但推荐)
pip install uv
uv pip install open-dataflow            # 核心包
uv pip install "open-dataflow[vllm]"   # 支持 GPU 加速推理

# 验证安装
dataflow -v

您将看到类似以下内容:

open-dataflow codebase version: 1.0.0
Checking for updates…
Local version:  1.0.0
PyPI newest version:  1.0.0
You are using the latest version: 1.0.0.

运行可视化构建器

dataflow webui   # 打开基于浏览器的拖拽式流水线编辑器

通过 CLI 运行流水线(使用内置的 PromptedGenerator 操作符示例):

from dataflow.operators.core_text import PromptedGenerator
from dataflow.utils.storage import FileStorage
from dataflow.serving import APILLMServing_request

storage = FileStorage(first_entry_file_name="./input.json")
llm = APILLMServing_request(api_url="https://api.openai.com/v1/chat/completions")

gen = PromptedGenerator(llm_serving=llm, system_prompt="Please solve this math problem.")
gen.run(storage=storage.step(), input_key="problem", output_key="solution")

该操作符读取 input.json,调用 LLM,并写入新列 solution。


📚 学习资源

  • 视频教程 – Bilibili 播放列表(README 中链接)
  • 文字教程 – Feishu Wiki(README 中链接)
  • 完整文档 – https://OpenDCAI.github.io/DataFlow-Doc/
  • 技术报告 – arXiv: 2512.16676(已被 ACM SIGMOD 2027 接收)

🛠️ 何时使用 DataFlow?

  • 您需要为 LLM 的微调或 RLHF 生成或清洗大量文本数据。
  • 您的数据来自异构来源(PDF、表格、代码仓库),并希望拥有一个 可复现的工作流。
  • 您更倾向于使用 可视化、低代码界面,而非手动编写 ETL 脚本。
  • 您计划 扩展到多个 GPU 或集群 – RayOrch 负责分布式处理。
  • 您希望与团队成员或社区 共享流水线(可作为 GitHub 仓库或 PyPI 包发布)。

📦 生态系统快照

组件 用途
DataFlow-Skills 教程、示例操作符、最佳实践指南
DataFlow-WebUI 拖拽式流水线编辑器 + AI 代理聊天
DataFlow-Ecosystem 领域特定操作符包注册表(例如 DataFlow-MM)
RayOrch 基于 Ray 的分布式任务调度器
社区扩展 语音质量清洗、其他领域特定插件

🏁 总结

DataFlow 是 LLM 开发中数据侧的 真正生产级框架。它集成了可重用操作符库、可视化流水线构建器,以及可自动组合流水线的可选 AI 代理。如果您花时间在整理或合成训练数据上,DataFlow 将为您提供一种可复现、可扩展、可扩展的方法。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目