本專案為 NVIDIA NeMo DataDesigner 的教學範例集,示範如何使用 NeMo Data Designer 進行高品質合成資料(Synthetic Data)生成,涵蓋入門教學與多種實務應用情境。
NeMo Data Designer 是 NVIDIA 提供的合成資料生成(Synthetic Data Generation, SDG) 協調框架,透過大型語言模型(LLM)端點(如 NVIDIA、OpenAI、vLLM 等)產生高品質、可重現的合成資料集。
- AI 模型訓練:在缺乏真實資料或資料不足時,以合成資料進行訓練與微調
- 資料擴充:增加資料多樣性,提升模型泛化能力
- 隱私保護:避免使用含個人可識別資訊(PII)的真實資料
- 測試與評估:產生邊界情境、壓力測試等特定用途的測試資料
- 以**繁體中文(台灣用語)**為主的範例與種子資料
- 涵蓋醫療、金融、客服等多領域應用
- 包含預覽、生成、評估的完整工作流程
- 示範 LLM-as-Judge 品質評估機制
- Python 3.10+
- NVIDIA API Key(可至 build.nvidia.com 取得)
git clone https://github.com/your-username/Nvidia-Nemo-DataDesigner-Tutorial.git
cd Nvidia-Nemo-DataDesigner-Tutorialpython -m venv venv
source venv/bin/activate # Linux / macOS
# 或
venv\Scripts\activate # Windowspip install data-designer python-dotenv複製 .env.example 為 .env,並填入您的 NVIDIA API 金鑰:
cp .env.example .env編輯 .env:
NVIDIA_API_KEY=<您的_NVIDIA_API_金鑰>
若使用 OpenAI 或 OpenRouter,可改為設定
OPENAI_API_KEY或OPENROUTER_API_KEY。
data-designer config list若顯示已設定的模型提供者與模型清單,即表示設定完成。
Nvidia-Nemo-DataDesigner-Tutorial/
├── README.md
├── .env.example # 環境變數範例
├── data/ # 種子資料
│ ├── data_person_1000_zh.json # 個人資料(含醫療、金融欄位)
│ ├── qna_dataset_seed.json # 客服 Q&A 種子
│ └── research_report_seed.json # 研究報告種子
├── example/ # 範例腳本
│ ├── data_designer_101.py # 入門教學
│ ├── pii_dataset_generate.py # PII 資料集生成
│ ├── qna_dataset_generate.py # 客服 Q&A 資料集生成
│ └── research_report_generate.py # 研究報告生成
└── artifacts/ # 輸出結果(執行後產生)
示範 Data Designer 的基本工作流程:
- 設定用於合成資料生成的模型
- 載入種子資料集與欄位
- 以提示詞與結構化輸出設定 LLM 欄位
- 預覽資料集並依需求調整
- 大量產生資料
- 評估資料品質
執行方式:
cd example
python data_designer_101.py產生含個人可識別資訊(PII)與脫敏版本的成對資料集,適用於:
- Guardrails 偵測模型的正向/負向測試樣本
- PII 標註與評估(Ground Truth)
流程:
- Stage 1:生成含 PII 的長篇真實文件
- Stage 2:生成脫敏版本(non-PII)
- Stage 3:生成 PII Ground Truth 標註
- 品質評估:以 LLM-as-Judge 評分
產生客服情境的問答對,支援:
- 多種使用者 persona、意圖、語氣
- 邊界情境(edge case)問句
- 政策約束下的標準回答
- 問答品質評估
根據指定主題、讀者、風格等條件,產生結構化研究型文章:
- 先產出文章大綱(outline)
- 再依大綱擴充為完整報告
- 支援指定章節與關鍵字
- 進入
example目錄 - 確認
data/路徑正確(範例中多使用./data/相對路徑) - 執行欲使用的範例腳本
cd example
python data_designer_101.py
# 或
python pii_dataset_generate.py
python qna_dataset_generate.py
python research_report_generate.py輸出會儲存於 artifacts/ 目錄,包含 Parquet 檔案與分析報告。