opción
HogarHogar Skill Gestión de bases de datos nemo-data-designer-plugin

nemo-data-designer-plugin

NVIDIA/skills NVIDIA/skills

Construya conjuntos de datos sintéticos y canalizaciones de generación de datos utilizando la biblioteca Data Designer.

...Expandir todo
1
Tiempo actualizado 27 de septiembre de 2026

Antes de comenzar

No explore el área de trabajo primero. El paso "Aprender" del flujo de trabajo le proporciona todo lo que necesita.

Objetivo

Construya un conjunto de datos sintético utilizando la biblioteca Data Designer que coincida con esta descripción:

$ARGUMENTS

Flujo de trabajo

Utilice el modo Autopilot si el usuario implica que no desea responder preguntas, por ejemplo, si dice algo como "sea opinativo", "tú decides", "haga suposiciones razonables", "simplemente constrúyalo", "sorpréndame", etc. De lo contrario, utilice el modo Interactive (predeterminado).

Lea únicamente el archivo de flujo de trabajo que coincida con el modo seleccionado, luego sígalo:

  • Interactive → lea workflows/interactive.md
  • Autopilot → lea workflows/autopilot.md

Reglas

  • Mantenga todas las columnas en la salida de forma predeterminada. Las únicas excepciones para eliminar una columna son: (1) el usuario lo solicita explícitamente, o (2) es una columna auxiliar que existe únicamente para derivar otras columnas (por ejemplo, un objeto de persona muestreado utilizado para extraer nombre, ciudad, etc.). En caso de duda, mantenga la columna.
  • No sugiera ni pregunte sobre conjuntos de datos semilla. Solo utilice uno cuando el usuario proporcione explícitamente datos semilla o solicite construir a partir de registros existentes. Al utilizar una semilla, lea references/seed-datasets.md.
  • Cuando el conjunto de datos requiera datos de personas (nombres, datos demográficos, direcciones), lea references/person-sampling.md.
  • Si ya existe un script de conjunto de datos que coincida con la descripción del conjunto de datos, pregunte al usuario si desea editarlo o crear uno nuevo.
  • Para comandos y contexto específicos de este complemento de la plataforma NeMo (por ejemplo, obtener configuraciones de modelos de proveedores IGW o ModelConfigs en el script, instalar o publicar personas Nemotron locales, punteros de recursos del lado de la plataforma), lea references/nemo-platform-plugin-additions.md.

Consejos de uso y errores comunes

  • Las columnas de muestreo y validación necesitan tanto un tipo como parámetros. Por ejemplo, sampler_type="category" con params=dd.CategorySamplerParams(...).
  • Plantillas Jinja2 en los campos prompt, system_prompt y expr: haga referencia a las columnas con {{ column_name }}, campos anidados con {{ column_name.field }}.
  • **SamplerColumnConfig:** Toma params, no sampler_params.
  • Acceso a la puntuación del juez LLM: LLMJudgeColumnConfig produce un diccionario anidado donde cada nombre de puntuación se asigna a {reasoning: str, score: int}. Para obtener la puntuación numérica, utilice el atributo .score. Por ejemplo, para una columna de juez llamada quality con una puntuación llamada correctness, utilice {{ quality.correctness.score }}. Utilizar {{ quality.correctness }} devuelve el diccionario completo, no la puntuación numérica.

Solución de problemas

  • **nemo data-designer CLI not found:** Indique al usuario que nemo data-designer no está instalado en este entorno (requiere Python >= 3.11). Pregunte si desea que cree un entorno virtual e lo instale, o si prefiere hacerlo ellos mismos. No instale nada sin el permiso del usuario.
  • Errores de red durante la vista previa: Un entorno de sandbox puede estar bloqueando las solicitudes salientes. Solicite al usuario permiso para reintentar el comando con el sandbox deshabilitado. Solo como último recurso, si reintentar fuera del sandbox también falla, indique al usuario que ejecute el comando ellos mismos.

Plantilla de salida

Escriba un archivo Python en el directorio actual con una función load_config_builder() que devuelva un DataDesignerConfigBuilder. Nombre el archivo de manera descriptiva (por ejemplo, customer_reviews.py). Utilice metadatos en línea PEP 723 para las dependencias.

# /// script
# dependencies = [
#   "data-designer", # siempre requerido
#   "pydantic", # solo si este script importa desde pydantic
#   # agregue dependencias adicionales aquí
# ]
# ///
import data_designer.config as dd
from pydantic import BaseModel, Field


# Utilice modelos Pydantic cuando la salida deba ajustarse a un esquema específico
class MyStructuredOutput(BaseModel):
    field_one: str = Field(description="...")
    field_two: int = Field(description="...")


# Utilice generadores personalizados cuando los tipos de columna integrados no sean suficientes
@dd.custom_column_generator(
    required_columns=["col_a"],
    side_effect_columns=["extra_col"],
)
def generator_function(row: dict) -> dict:
    # agregue lógica personalizada aquí que dependa de "col_a" y actualice row in situ
    row["name_in_custom_column_config"] = "custom value"
    row["extra_col"] = "extra value"
    return row


def load_config_builder() -> dd.DataDesignerConfigBuilder:
    config_builder = dd.DataDesignerConfigBuilder(
        # Declarar configuraciones de modelos programáticamente aquí es la ruta portátil:
        # funciona tanto para `run` local como para `submit` en el clúster, mientras que la alternativa de registro YAML local solo funciona para `run`. El proveedor a continuación
        # es un valor predeterminado común creado durante `nemo setup` — confírmelo (o
        # descubra otros) con `nemo inference providers list`. Consulte
        # references/nemo-platform-plugin-additions.md para la alternativa de YAML local.
        model_configs=[
            dd.ModelConfig(
                alias="text",
                model="...",
                provider="default/nvidia-build",
                inference_parameters=dd.ChatCompletionInferenceParams(),
            ),
        ],
    )

    # Conjunto de datos semilla (solo si el usuario menciona explícitamente una ruta de conjunto de datos semilla)
    # config_builder.with_seed_dataset(dd.LocalFileSeedSource(path="path/to/seed.parquet"))

    # config_builder.add_column(...)
    # config_builder.add_processor(...)

    return config_builder

Incluya únicamente modelos Pydantic, generadores personalizados, conjuntos de datos semilla y dependencias adicionales cuando la tarea lo requiera. Prefiera incluir model_configs cuando el conjunto de datos utilice columnas LLM: declararlo en el script mantiene la configuración portátil entre run local y submit en el clúster, mientras que la alternativa de registro YAML local solo funciona para run.

Ver en GitHub
---
name: nemo-data-designer-plugin
description: Build synthetic datasets and data generation pipelines using the Data Designer library.
license: Apache-2.0
---

# Before You Start

Do not explore the workspace first. The workflow's Learn step gives you everything you need.

# Goal

Build a synthetic dataset using the Data Designer library that matches this description:

$ARGUMENTS

# Workflow

Use **Autopilot** mode if the user implies they don't want to answer questions — e.g., they say something like "be opinionated", "you decide", "make reasonable assumptions", "just build it", "surprise me", etc. Otherwise, use **Interactive** mode (default).

Read **only** the workflow file that matches the selected mode, then follow it:

- **Interactive** → read `workflows/interactive.md`
- **Autopilot** → read `workflows/autopilot.md`

# Rules

- Keep all columns in the output by default. The only exceptions for dropping a column are: (1) the user explicitly asks, or (2) it is a helper column that exists solely to derive other columns (e.g., a sampled person object used to extract name, city, etc.). When in doubt, keep the column.
- Do not suggest or ask about seed datasets. Only use one when the user explicitly provides seed data or asks to build from existing records. When using a seed, read `references/seed-datasets.md`.
- When the dataset requires person data (names, demographics, addresses), read `references/person-sampling.md`.
- If a dataset script that matches the dataset description already exists, ask the user whether to edit it or create a new one.
- For commands and context specific to this NeMo Platform plugin (e.g., sourcing model configs from IGW providers or in-script `ModelConfig`s, installing or publishing Nemotron Personas locales, platform-side resource pointers), read `references/nemo-platform-plugin-additions.md`.

# Usage Tips and Common Pitfalls

- **Sampler and validation columns need both a type and params.** E.g., `sampler_type="category"` with `params=dd.CategorySamplerParams(...)`.
- **Jinja2 templates** in `prompt`, `system_prompt`, and `expr` fields: reference columns with `{{ column_name }}`, nested fields with `{{ column_name.field }}`.
- `**SamplerColumnConfig`:** Takes `params`, not `sampler_params`.
- **LLM judge score access:** `LLMJudgeColumnConfig` produces a nested dict where each score name maps to `{reasoning: str, score: int}`. To get the numeric score, use the `.score` attribute. For example, for a judge column named `quality` with a score named `correctness`, use `{{ quality.correctness.score }}`. Using `{{ quality.correctness }}` returns the full dict, not the numeric score.

# Troubleshooting

- `**nemo data-designer` CLI not found:** Tell the user that `nemo data-designer` is not installed in this environment (requires Python >= 3.11). Ask if they would like you to create a virtual environment and install it, or if they prefer to do it themselves. Do not install anything without the user's permission.
- **Network errors during preview:** A sandbox environment may be blocking outbound requests. Ask the user for permission to retry the command with the sandbox disabled. Only as a last resort, if retrying outside the sandbox also fails, tell the user to run the command themselves.

# Output Template

Write a Python file to the current directory with a `load_config_builder()` function returning a `DataDesignerConfigBuilder`. Name the file descriptively (e.g., `customer_reviews.py`). Use PEP 723 inline metadata for dependencies.

```python
# /// script
# dependencies = [
#   "data-designer", # always required
#   "pydantic", # only if this script imports from pydantic
#   # add additional dependencies here
# ]
# ///
import data_designer.config as dd
from pydantic import BaseModel, Field


# Use Pydantic models when the output needs to conform to a specific schema
class MyStructuredOutput(BaseModel):
    field_one: str = Field(description="...")
    field_two: int = Field(description="...")


# Use custom generators when built-in column types aren't enough
@dd.custom_column_generator(
    required_columns=["col_a"],
    side_effect_columns=["extra_col"],
)
def generator_function(row: dict) -> dict:
    # add custom logic here that depends on "col_a" and update row in place
    row["name_in_custom_column_config"] = "custom value"
    row["extra_col"] = "extra value"
    return row


def load_config_builder() -> dd.DataDesignerConfigBuilder:
    config_builder = dd.DataDesignerConfigBuilder(
        # Declaring model configs programmatically here is the portable path:
        # it works for both local `run` and cluster `submit`, while the local
        # YAML registry alternative only works for `run`. The provider below
        # is a common default created during `nemo setup` — confirm it (or
        # discover others) with `nemo inference providers list`. See
        # references/nemo-platform-plugin-additions.md for the local-YAML alternative.
        model_configs=[
            dd.ModelConfig(
                alias="text",
                model="...",
                provider="default/nvidia-build",
                inference_parameters=dd.ChatCompletionInferenceParams(),
            ),
        ],
    )

    # Seed dataset (only if the user explicitly mentions a seed dataset path)
    # config_builder.with_seed_dataset(dd.LocalFileSeedSource(path="path/to/seed.parquet"))

    # config_builder.add_column(...)
    # config_builder.add_processor(...)

    return config_builder
```

Only include Pydantic models, custom generators, seed datasets, and extra dependencies when the task requires them. Prefer including `model_configs` when the dataset uses LLM columns — declaring it in the script keeps the config portable between local `run` and cluster `submit`, while the local YAML registry alternative only works for `run`.

Instalar nemo-data-designer-plugin

Descarga y extrae los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

git clone https://github.com/NVIDIA/skills/tree/main/skills/nemo-data-designer-plugin # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuración rápida: Copia la carpeta de habilidades a .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio NVIDIA/skills

Habilidades relacionadas

microservices-patterns
Tiempo actualizado 29 de junio de 2026
jpa-patterns
Tiempo actualizado 30 de junio de 2026
fabric-lakehouse
Tiempo actualizado 30 de junio de 2026
prisma-expert
Tiempo actualizado 29 de junio de 2026
OR