DataArcTech/DataArc-SynData-Toolkit

Synthetic Data Generation Platform By DataArcTech

DataArc SynData Toolkit – 是什么

DataArc SynData Toolkit 是一个开源 Python 包,用于为大语言模型(LLMs)生成合成训练数据,然后在生成的数据上对模型进行微调。该项目集成了一个 模块化流水线(数据合成 → 过滤 → 可选的模型蒸馏)、一个 FastAPI + React 网页 UI,以及对 后训练(监督微调和 GRPO)和 评估(通过 DeepEval)的内置支持。本项目基于 ACL 2026 系统演示论文发布。


核心功能

功能 工作方式
零代码数据合成 提供一个 YAML 配置文件并运行 sdg generate …。该流水线可从本地语料库、Hugging Face 数据集获取数据,或通过蒸馏教师模型生成新样本。
多语言与多模态 支持英语、阿拉伯语及其他低资源语言;可合成纯文本数据或使用本地图像或网络爬取数据集生成 VQA 用的图文对。
后训练集成 使用内置的 verl 框架在合成语料库上直接运行 SFT 或 GRPO(sdg train …)。
模型评估 调用 DeepEval(G‑Eval)计算回答正确性、格式合规性及成对偏好(sdg eval …)。
可扩展架构 核心模块位于 sdgsystem/ 下(生成、重写、蒸馏、评估、训练器等)。开发者可继承提供的 BaseTaskConfigBaseTaskExecutorBaseRewriter 等类,插入自定义逻辑。
GUI FastAPI 后端(REST + SSE)与 React 前端结合,用户无需接触命令行即可配置流水线、监控进度并查看评估结果。

快速入门(CLI)

# 克隆并安装(需要 Python 3.10+ 和 uv 包管理器)
git clone https://github.com/DataArcTech/DataArc-SynData-Toolkit.git
cd DataArc-SynData-Toolkit
pip install uv               # 如果尚未安装 uv
uv sync                       # 安装精确依赖项

# 1️⃣ 创建包含 API 密钥的 .env 文件
cat > .env <<EOF
API_KEY=sk-…                # OpenAI 或兼容 LLM API 密钥
BASE_URL=https://api.openai.com/v1   # 可选自定义端点
EOF

# 2️⃣ 生成合成数据(sdg.yaml 是示例配置)
uv run sdg generate configs/sdg.yaml

# 3️⃣ 在生成的数据上微调模型
uv run sdg train configs/sft.yaml   # GRPO 使用 grpo.yaml

# 4️⃣ 评估微调后的模型
uv run sdg eval configs/eval.yaml

相同步骤也可通过网页 UI 执行:启动 FastAPI 服务器(uv run fastapi dev sdgsystem/app/main.py)和 React 前端(cd sdgsystem/webui && pnpm install && pnpm dev)。


项目结构(概览)

  • configs/ – 合成、SFT、GRPO 和评估的示例 YAML 文件。
  • sdgsystem/ – 核心代码:
    • generation/, distillation/ – 数据创建方法。
    • rewriter/ – 对原始合成输出进行过滤/重写。
    • trainer/verl 训练框架的封装。
    • evaluation/ & deepeval/ – 通过 DeepEval 实现质量指标。
    • app/ – FastAPI 后端。
    • webui/ – React 前端。
  • verl/ – 外部 verl 库的捆绑版本(Apache‑2.0)。
  • docs/ – 详细用户指南、用例说明和依赖项列表。

谁会使用它?

  • 研究人员:需要大规模、领域特定的合成语料库(如医疗、金融、法律)以提升 LLM 性能。
  • 产品团队:希望一键生成多语言数据并立即微调模型的团队。
  • 开发者:寻找可即插即用、可扩展自定义数据源或重写规则的框架。

许可与社区

  • 代码采用 Apache 2.0 许可,捆绑的 verl 组件也采用相同许可。
  • 活跃社区渠道:Discord、微信群、X(Twitter)、LinkedIn。
  • 欢迎通过拉取请求(PR)贡献代码,项目遵循标准开源贡献流程。

总结

DataArc SynData Toolkit 提供了一个 完整、端到端的解决方案,用于合成数据生成、模型微调和评估,全部封装在用户友好的 CLI 和可选 GUI 中。其模块化设计使其易于采用现有流水线或为多语言和多模态 LLM 项目构建新流水线。

相关

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