data-designer
Data Designer — официальный skill NVIDIA для случаев, когда нужно создать датасет, сгенерировать синтетические данные или собрать воспроизводимый конвейер генерации. Его назначение — перевести описание требуемого набора данных в конфигурацию библиотеки Data Designer, а не просто выдать произвольный пример кода. В начале работы skill предлагает не исследовать рабочее пространство: сначала нужно пройти шаг Learn, чтобы получить сведения, необходимые конкретному сценарию. Цель формулируется через описание датасета пользователя. Режим выбирается по намерению пользователя. Autopilot подходит, если пользователь просит принять разумные решения без дополнительных вопросов; Interactive остаётся режимом по умолчанию. После выбора нужно читать только соответствующий workflow-файл: interactive.md или autopilot.md. Это ограничивает объём контекста и не смешивает правила двух вариантов работы. Skill также требует, чтобы уже существующий скрипт, подходящий под описание датасета, сначала был найден и чтобы пользователь выбрал: редактировать его или создавать новый. В конфигурации столбцов Data Designer важны не только имена, но и корректные типы и параметры. Для sampler- и validation-колонок должны быть заданы sampler_type и params; например, категориальный sampler использует CategorySamplerParams. У SamplerColumnConfig параметр называется params, а не sampler_params. В prompt, system_prompt и expr используются Jinja2-шаблоны: обычная колонка обращается как {{ column_name }}, вложенное поле — как {{ column_name.field }}. LLMJudgeColumnConfig возвращает вложенную структуру с reasoning и числовым score для каждого критерия, поэтому при подстановке в другую колонку нужно обращаться к .score, иначе в шаблон попадёт весь словарь. Правила сохранения данных консервативны. Все столбцы нужно оставлять в результате по умолчанию. Удаление допустимо только по явной просьбе пользователя или для вспомогательной колонки, которая существует исключительно ради вычисления других полей. Seed dataset не предлагается сам по себе: его можно использовать, только если пользователь дал seed-данные или попросил строить набор из существующих записей; подробности для такого случая находятся в references/seed-datasets.md. Для person data нужно отдельно загрузить references/person-sampling.md, а не придумывать собственный источник имён, демографии или адресов. Результатом должен быть Python-файл с функцией load_config_builder(), возвращающей DataDesignerConfigBuilder. В начале файла допускается PEP 723 inline metadata; зависимость data-designer обязательна, а pydantic и дополнительные библиотеки добавляются только если они реально импортируются. Встроенные генераторы предпочтительны; собственный генератор нужен лишь когда готовых типов колонок недостаточно, и тогда он объявляет required_columns и side_effect_columns и обновляет переданную строку. В шаблоне предусмотрены Pydantic-модели, custom generators, seed dataset и processors, но их не следует добавлять без требования текущего датасета. Ограничения также описаны явно. Если команда data-designer не установлена, её не нужно устанавливать автоматически: библиотеке нужен Python 3.10 или новее, а пользователю следует сообщить о варианте с виртуальным окружением. При сетевой ошибке preview сначала проверяют ограничения окружения и запрашивают разрешение на повтор; это не повод подменять результат догадкой. Таким образом, skill полезен для проектирования синтетических таблиц, параметров sampler-колонок, проверок качества и LLM-судей, но не заменяет валидацию конкретного домена и не разрешает самовольно выкидывать данные из результата.
Для чего подходит
- Создание synthetic dataset
- Проектирование data-generation pipeline
- Подготовка данных для тестирования ML-сценария
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/NVIDIA/skills/tree/main/skills/data-designer