█

AI/TLDR

Buy me a coffee
Buy me a coffee

NeMo Data Designer

Build production-grade synthetic datasets with samplers, LLMs, and validation

Synthetic DataOpen source
Language
Python
$pip install data-designer

Overview

NeMo Data Designer is an open-source Python library from NVIDIA for generating synthetic datasets, either from scratch or from your own seed data. Instead of one-off LLM prompting, you describe a dataset as a set of columns, where each column is filled by a statistical sampler, an LLM, or an existing dataset.

It is aimed at developers and ML teams who need realistic training or test data with control over field distributions and the relationships between fields. You can validate generated rows with Python, SQL, and custom local or remote validators, and score outputs using an LLM as a judge.

As a synthetic-data and labeling tool, it sits between simple prompt scripts and full data platforms: a configuration-driven framework where you build a column schema, preview a sample, then run full generation. It works with NVIDIA Build, OpenAI, and OpenRouter model providers out of the box.

What it does

  • Generate data from statistical samplers, LLM columns, or existing seed datasets
  • Dependency-aware generation that controls relationships between fields
  • Built-in Python, SQL, and custom local or remote validators for quality checks
  • LLM-as-a-judge scoring to assess output quality
  • Preview mode to inspect sample records before full-scale generation
  • Async engine (default) that overlaps independent columns and adapts concurrency per provider and model

Getting started

Install the package, set a provider API key, then define columns and preview a sample before generating at scale.

Install

Install Data Designer from PyPI.

bashbash
pip install data-designer

Set your API key

Set the environment variable for one of the default providers (NVIDIA Build, OpenAI, or OpenRouter).

bashbash
export NVIDIA_API_KEY="your-api-key-here"

Define columns and preview

Build a config with a sampler column and an LLM text column, then preview a sample record.

pythonpython
import data_designer.config as dd
from data_designer.interface import DataDesigner

data_designer = DataDesigner()
config_builder = dd.DataDesignerConfigBuilder()

config_builder.add_column(
    dd.SamplerColumnConfig(
        name="product_category",
        sampler_type=dd.SamplerType.CATEGORY,
        params=dd.CategorySamplerParams(
            values=["Electronics", "Clothing", "Home & Kitchen", "Books"],
        ),
    )
)

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 = data_designer.preview(config_builder=config_builder)
preview.display_sample_record()

Configure providers and models via CLI

Use the CLI to set up model providers and view current settings.

bashbash
data-designer config providers
data-designer config models
data-designer config list

Commands and code are distilled from the project's own documentation — always check the official repo for the latest.

When to use it

  • Generate synthetic training data with controlled statistical distributions and field correlations
  • Create realistic test datasets from a small seed dataset for ML pipelines
  • Produce validated, scored sample data (for example product reviews tied to categories) for prototyping
  • Augment existing data with dependency-aware fields while checking quality with Python or SQL validators

How NeMo Data Designer compares

NeMo Data Designer alongside other open-source synthetic data tools AI/TLDR tracks, ranked by GitHub stars.

ToolStarsWhat it does
Easy Dataset★ 15kAn application that parses your documents and converts them into structured question-answer datasets for fine-tuning, RAG, and model evaluation.
SDV (Synthetic Data Vault)★ 3.6kA Python library that learns patterns from real tabular data and generates realistic synthetic tables.
distilabel★ 3.4kA framework for building synthetic-data and AI-feedback pipelines that call any LLM to generate and judge datasets.
NeMo Data Designer★ 2.4kBuild production-grade synthetic datasets with samplers, LLMs, and validation
Augmentoolkit★ 1.9kA tool that turns raw documents into synthetic instruction and conversation datasets for fine-tuning models.
NeMo Curator★ 1.8kAn NVIDIA toolkit for cleaning, deduplicating, and curating large text datasets used to train LLMs.
Curator★ 1.8kA Python library for generating and curating large synthetic datasets to train and post-train language models.
ydata-synthetic★ 1.7kA collection of generators for creating synthetic tabular and time-series data from real datasets.