Skip to main content

nemo-data-designer-plugin

Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.

来源信息

仓库
NVIDIA-NeMo/nemo-platform
最近来源活动
2026年9月18日 21:34
检测到的 SKILL.md 语言
英语
星标
79
Forks
24

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
13 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
nemo-data-designer-plugin
description
Use when the user wants to create a dataset, generate synthetic data, or build a data generation pipeline.
argument-hint
["describe the dataset you want to generate"]
license
Apache-2.0
allowed-tools
Bash, Read
metadata
{"author":"NeMo Helix Team <nemo-helix@nvidia.com>","owner":"nemo-platform"}
# 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 If the user wants Nemotron-style **embedding or reranking** data (corpus → Q&A → `training.jsonl` / `eval_beir` → fine-tune), **stop**. Announce a handoff to `nemo-retrieval-recipes`. Do not enter Autopilot or Interactive `create`. Dedicated jobs are documented in `references/retrieval-sdg.md` for Stage 0/1 debugging only. 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. - Data Designer runs on NeMo Platform: inference, seed data, and persona data all resolve through the platform, never from local files or a local model registry. Read `references/platform-execution.md` before writing a config — it covers model configs, validation, and what the platform accepts. - For Nemotron retrieval SDG Stage 0/1 (`retrieval-generate` / `retrieval-prepare` / `retrieval-run`), read `references/retrieval-sdg.md`. Do not use `create` for that pipeline. Full embed/rerank recipes belong to `nemo-retrieval-recipes`. # 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 # "data-designer-nemo", # only if this script imports a platform seed source # "pydantic", # only if this script imports from pydantic # # add additional dependencies here # ] # /// import data_designer.config as dd from pydantic import BaseModel, Field # Seed data on NeMo Platform comes from the Files service: # from data_designer_nemo.fileset_file_seed_source import FilesetFileSeedSource # 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( # Model configs must be declared here. `provider` is an Inference Gateway # provider; the one below is a common default created during `nemo setup` — # confirm it (or discover others) with `nemo inference providers list`. # See references/platform-execution.md. 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) # Seed data must live in the Files service or on HuggingFace — see # references/seed-datasets.md for the supported sources. # config_builder.with_seed_dataset( # FilesetFileSeedSource(path="default/my-seed-data#records.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.
在 GitHub 查看