🎨 NeMo Data Designer
Generate high-quality synthetic datasets from scratch or using your own seed data.
Welcome!
Data Designer helps you create synthetic datasets that go beyond simple LLM prompting. Whether you need diverse statistical distributions, meaningful correlations between fields, or validated high-quality outputs, Data Designer provides a flexible framework for building production-grade synthetic data.
What can you do with Data Designer?
- Generate diverse text, structured data, and images using samplers, LLMs, image models, or existing seed datasets
- Build multimodal workflows with image, audio, and video context
- Connect generation to external tools through local or remote MCP servers and capture interaction traces
- Control relationships between fields with dependency-aware generation
- Validate and score outputs with Python, SQL, custom validators, and LLM judges
- Extend Data Designer with plugins for custom columns, seed readers, and processors
- Preview, resume, and monitor generation from small experiments to large runs
Quick Start
1. Install
pip install data-designer
Or install from source:
git clone https://github.com/NVIDIA-NeMo/DataDesigner.git
cd DataDesigner
make install
2. Set your API key
Start with one of our default model providers:
Grab your API key(s) using the above links and set one or more of the following environment variables:
export NVIDIA_API_KEY="your-api-key-here"
export OPENAI_API_KEY="your-openai-api-key-here"
export OPENROUTER_API_KEY="your-openrouter-api-key-here"
3. Start generating data!
import data_designer.config as dd
from data_designer.interface import DataDesigner
# Initialize with default settings
data_designer = DataDesigner()
config_builder = dd.DataDesignerConfigBuilder()
# Add a product category
config_builder.add_column(
dd.SamplerColumnConfig(
name="product_category",
sampler_type=dd.SamplerType.CATEGORY,
params=dd.CategorySamplerParams(
values=["Electronics", "Clothing", "Home & Kitchen", "Books"],
),
)
)
# Generate personalized customer reviews
config_builder.add_column(
dd.LLMTextColumnConfig(
name="review",
model_alias="nvidia-text",
prompt="Write a brief product review for a {{ product_category }} item you recently purchased.",
)
)
# Preview your dataset
preview = data_designer.preview(config_builder=config_builder)
preview.display_sample_record()
What's next?
📚 Learn more
- Getting Started – Install, configure, and generate your first dataset
- Tutorial Notebooks – Step-by-step interactive tutorials
- Column Types – Explore samplers, LLM columns, validators, and more
- Validators – Learn how to validate generated data with Python, SQL, and remote validators
- Model Configuration – Configure custom models and providers
- Person Sampling – Learn how to sample realistic person data with demographic attributes
📝 Documentation
Data Designer documentation is available at docs.nvidia.com/nemo/datadesigner.
Contributors should edit docs prose under fern/. Tutorial notebook source remains in docs/notebook_source/*.py; generated notebooks and Fern artifacts are not the source of truth. The legacy MkDocs archive remains available on GitHub Pages for releases 0.5.7 and older.
🔧 Configure models via CLI
data-designer config providers # Configure model providers
data-designer config models # Set up your model configurations
data-designer config list # View current settings
🤖 Agent Skill
Data Designer has a skill for coding agents. Just describe the dataset you want, and your agent handles schema design, validation, and generation. The skill is tested with Claude Code and Codex.
Install via skills.sh:
npx skills add NVIDIA-NeMo/DataDesigner
After installation, invoke the data-designer skill or describe the dataset you want and the skill will kick in.
🤝 Get involved
This repository supports agent-assisted development — see CONTRIBUTING.md for the recommended workflow.
- Contributing Guide – How to contribute, including agent-assisted workflows
- GitHub Issues – Report bugs or make a feature request
Telemetry
Data Designer collects telemetry to help us improve the library for developers. This data is not used to track any individual user behavior. It is used to see an aggregation of which models are the most popular for SDG. We will share this usage data with the community.
Disable with NEMO_TELEMETRY_ENABLED=false. More details →
Top models (YTD)
Aggregate model usage across synthetic data generation jobs, year-to-date 1/1/2026–8/4/2026:
Last updated on August 4, 2026
License
Apache License 2.0 – see LICENSE for details.
Citation
If you use NeMo Data Designer in your research, please cite it using the following BibTeX entry:
@misc{nemo-data-designer,
author = {The NeMo Data Designer Team, NVIDIA},
title = {NeMo Data Designer: A framework for generating synthetic data from scratch or based on your own seed data},
howpublished = {\url{https://github.com/NVIDIA-NeMo/DataDesigner}},
year = {2025},
note = {GitHub Repository},
}
Telemetry & privacy
NeMo Data Designer includes an optional function to share anonymous telemetry data with NVIDIA for product improvement. Data collected is limited to names of models used and token counts (input and output). No user or device information is collected. This data is used to prioritize product improvements and will be shared in aggregate with the community. It is not used to track any individual user behavior.
You may opt out of telemetry collection at any time. Opting out applies only to data collection by the NeMo Data Designer library itself.
Use of third-party endpoints, including NVIDIA Build: NeMo Data Designer can be configured to use various inference endpoints, including build.nvidia.com (NVIDIA Build). If you choose to use NVIDIA Build or any other third-party endpoint, that endpoint's own terms of service and privacy practices apply independently of this library. Any opt-out you exercise within NeMo Data Designer does not extend to data collection by your chosen endpoint. NVIDIA Build is intended for evaluation and testing purposes only and may not be used in production environments. Do not submit any confidential information or personal data when using NVIDIA Build.
Metadata
Release files for data-designer 0.9.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| data_designer-0.9.3.tar.gz | 238.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| data_designer-0.9.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 398.8 kB
Release files / data_designer-0.9.3.tar.gz
| Download URL | data_designer-0.9.3.tar.gz |
|---|---|
| Size | 238.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
69540dc492490dda594cb8fa2ff21f9a854a17399b6a091be9eb48126eee082e
|
|
BLAKE2b-256 checksum How to use checksums |
4105db4386dff2bf3d22662d2eb247dd7e8a955525fa1d75824e458429640447
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / data_designer-0.9.3-py3-none-any.whl
| Download URL | data_designer-0.9.3-py3-none-any.whl |
|---|---|
| Size | 160.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
81c7cb2a76a4e7006ada07a080de125514d261e36ab0194ba8ec360868198536
|
|
BLAKE2b-256 checksum How to use checksums |
f053b354a5e5d85677009587a4b5c61ebd83f9ffcbc700d9ecbb941df171ffc0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|