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、WeChat 群組、X(Twitter)、LinkedIn。
  • 歡迎透過拉取請求(PR)貢獻程式碼,專案遵循標準開源貢獻流程。

總結

DataArc SynData Toolkit 提供了一個 完整、端到端的解決方案,用於合成資料生成、模型微調與評估,全部封裝在使用者友善的 CLI 與可選 GUI 中。其模組化設計使其易於採用現有流程或為多語言與多模態 LLM 專案建構新流程。

相關

  • 專案
  • 專案
  • 專案
  • 專案