data-designer について
data-designer は、Data Designer ライブラリで合成データセットを作成するためのスキルです。対話型または Autopilot の手順に沿って設計し、要件に合わせた Python 設定ファイルを生成します。
主な機能
- 01対話型または Autopilot の手順
- 02説明に基づくデータセット作成
- 03Python 設定ビルダーファイルの生成
- 04出力列の既定での保持
- 05サンプラーと検証設定の案内
活用シーン
- 01要件に基づく顧客レビューの生成
- 02質問を省いたデータセット設計の自動化
- 03再利用可能な設定スクリプトの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ nvidia/ skills --skill data-designerインストール後、Claude Code で/data-designerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
BENCHMARK.mdskill-card.mdskill.oms.sigevals/evals.jsonreferences/person-sampling.mdpreview-review.mdseed-datasets.mdscripts/get_person_object_schema.pyworkflows/autopilot.mdinteractive.md詳細
始める前に
最初にワークスペースを調べないでください。ワークフローの「学習」ステップで、必要な情報がすべて得られます。
目標
Data Designer ライブラリを使って、次の説明に合う合成データセットを作成します。
$ARGUMENTS
ワークフロー
ユーザーが質問に答えたくない意向を示している場合(「判断は任せます」「あなたが決めてください」「妥当な仮定を置いてください」「とにかく作成してください」「お任せします」など)、オートパイロットモードを使用します。それ以外の場合は、デフォルトの対話型モードを使用します。
選択したモードに対応するワークフローファイルのみを読み、その指示に従います。
- 対話型 →
workflows/interactive.mdを読みます - オートパイロット →
workflows/autopilot.mdを読みます
ルール
- デフォルトでは、出力にすべての列を残します。列を削除できるのは、(1)ユーザーが明示的に依頼した場合、または(2)他の列の導出だけに使われるヘルパー列(名前や都市などの抽出に使う、サンプリングされた人物オブジェクトなど)の場合のみです。判断に迷った場合は、列を残してください。
- シードデータセットを提案したり、ユーザーに尋ねたりしないでください。ユーザーがシードデータを明示的に提供した場合、または既存のレコードを基に作成するよう依頼した場合にのみ使用します。シードを使用する場合は、
references/seed-datasets.mdを読みます。 - データセットに人物データ(名前、人口統計、住所)が必要な場合は、
references/person-sampling.mdを読みます。 - データセットの説明に合致するスクリプトがすでに存在する場合は、それを編集するか、新しく作成するかをユーザーに尋ねます。
使用上のヒントとよくある問題
- サンプラー列と検証列には、型とパラメーターの両方が必要です。 例:
sampler_type="category"とparams=dd.CategorySamplerParams(...)。 prompt、system_prompt、exprフィールド内の Jinja2 テンプレート:{{ column_name }}で列を参照し、{{ column_name.field }}でネストされたフィールドを参照します。SamplerColumnConfig:sampler_paramsではなくparamsを取ります。- LLM ジャッジのスコアへのアクセス:
LLMJudgeColumnConfigは、各スコア名が{reasoning: str, score: int}に対応するネストされた辞書を生成します。数値スコアを取得するには、.score属性を使用します。たとえば、qualityという名前のジャッジ列で、correctnessという名前のスコアを使う場合は、{{ quality.correctness.score }}を使用します。{{ quality.correctness }}を使用すると、数値ではなく辞書全体が返されます。
トラブルシューティング
data-designerCLI が見つからない: この環境にはdata-designerがインストールされていない(Python >= 3.11 が必要)ことをユーザーに伝えます。仮想環境を作成してインストールするか、自分で行うかを尋ねます。ユーザーの許可なくインストールしないでください。- プレビュー中のネットワークエラー: サンドボックス環境によって、外部へのリクエストがブロックされている可能性があります。サンドボックスを無効にしてコマンドを再試行する許可をユーザーに求めます。サンドボックス外でも再試行に失敗した場合に限り、ユーザー自身でコマンドを実行するよう伝えてください。
出力テンプレート
load_config_builder() 関数を含む Python ファイルを現在のディレクトリに作成し、DataDesignerConfigBuilder を返すようにします。ファイル名は内容が分かるものにします(例:customer_reviews.py)。依存関係には PEP 723 のインラインメタデータを使用します。
# /// 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()
# 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
タスクで必要な場合に限り、Pydantic モデル、カスタムジェネレーター、シードデータセット、追加の依存関係を含めます。
コメント
Markdown 対応