DataArcTech/DataArc-SynData-Toolkit
Synthetic Data Generation Platform By DataArcTech
DataArc SynData Toolkit – What It Is
DataArc SynData Toolkit is an open‑source Python package for generating synthetic training data for large language models (LLMs) and then fine‑tuning those models on the generated data. It bundles a modular pipeline (data synthesis → filtering → optional model distillation), a FastAPI + React web UI, and built‑in support for post‑training (Supervised Fine‑Tuning and GRPO) and evaluation (via DeepEval). The project is backed by a paper presented at ACL 2026 System Demonstrations.
Core Capabilities
| Capability | How It Works |
|---|---|
| Zero‑code data synthesis | Provide a single YAML config and run sdg generate …. The pipeline can pull data from local corpora, Hugging Face datasets, or generate new examples by distilling a teacher model. |
| Multilingual & multimodal | Supports English, Arabic and other low‑resource languages; can synthesize text‑only data or image‑text pairs for VQA using local images or web‑crawled datasets. |
| Post‑training integration | Uses the bundled verl framework to run SFT or GRPO directly on the synthetic corpus (sdg train …). |
| Model evaluation | Calls DeepEval (G‑Eval) to compute Answer Correctness, Format Compliance, and Pairwise Preference (sdg eval …). |
| Extensible architecture | Core modules are under sdgsystem/ (generation, rewriting, distillation, evaluation, trainer, etc.). Developers can subclass the provided BaseTaskConfig, BaseTaskExecutor, BaseRewriter, etc., to plug in custom logic. |
| GUI | A FastAPI backend (REST + SSE) plus a React frontend lets users configure pipelines, monitor progress, and view evaluation results without touching the command line. |
Quick‑Start (CLI)
# Clone & install (requires Python 3.10+ and uv package manager)
git clone https://github.com/DataArcTech/DataArc-SynData-Toolkit.git
cd DataArc-SynData-Toolkit
pip install uv # if you don't have uv yet
uv sync # install exact dependencies
# 1️⃣ Create a .env with your API keys
cat > .env <<EOF
API_KEY=sk-… # OpenAI or compatible LLM API key
BASE_URL=https://api.openai.com/v1 # optional custom endpoint
EOF
# 2️⃣ Generate synthetic data (sdg.yaml is an example config)
uv run sdg generate configs/sdg.yaml
# 3️⃣ Fine‑tune a model on the generated data
uv run sdg train configs/sft.yaml # or grpo.yaml for GRPO
# 4️⃣ Evaluate the fine‑tuned model
uv run sdg eval configs/eval.yaml
The same steps can be performed through the web UI by starting the FastAPI server (uv run fastapi dev sdgsystem/app/main.py) and the React frontend (cd sdgsystem/webui && pnpm install && pnpm dev).
Project Layout (high‑level)
configs/– example YAML files for synthesis, SFT, GRPO, and evaluation.sdgsystem/– core code:generation/,distillation/– data creation methods.rewriter/– filtering/re‑writing of raw synthetic output.trainer/– wrapper around the verl training framework.evaluation/&deepeval/– quality metrics via DeepEval.app/– FastAPI backend.webui/– React front‑end.
verl/– bundled copy of the external verl library (Apache‑2.0).docs/– detailed user guide, use‑case descriptions, and dependency list.
Who Might Use It?
- Researchers needing large, domain‑specific synthetic corpora (e.g., medical, finance, law) to boost LLM performance.
- Product teams that want a one‑click pipeline to generate multilingual data and immediately fine‑tune a model.
- Developers looking for a plug‑and‑play framework they can extend with custom data sources or rewriting rules.
License & Community
- Licensed under Apache 2.0 (code) with the same license for the bundled verl component.
- Active community channels: Discord, WeChat group, X (Twitter), and LinkedIn.
- Contributions are welcomed via pull requests; the repo follows a typical open‑source contribution workflow.
Bottom Line
DataArc SynData Toolkit provides a complete, end‑to‑end solution for synthetic data generation, model fine‑tuning, and evaluation, all wrapped in a user‑friendly CLI and optional GUI. Its modular design makes it easy to adopt existing pipelines or build new ones for multilingual and multimodal LLM projects.
Related
- Project
- Project
- Project
- Project