Skip to main content
This page explains every field in the data_generation section of the YAML config.
The SDK reads a single YAML file that contains both data_generation and training. You typically run:
  • run_data_generation(config_path=...)
  • run_training(config_path=...)

File format

Your YAML file is a run config that includes top-level keys and a nested data_generation section:

Configuration structure

The data_generation section has six parts:
  • metric: what you’re generating data for (classes, rubrics, input format)
  • source_data: the seed dataset (CSV or Hugging Face) + sampling
  • llm: the primary LLM used for generation
  • generation: how many examples to generate, distribution, concurrency
  • output: where the generated dataset is written/published
  • labelling + data_quality_metrics: optional steps

metric

Defines the classification metric you are generating data for.

metric.class_label


source_data

Defines where seed examples come from and how they’re sampled.

source_data.dataset

source_data.sampling


llm

Primary LLM used for generation.

generation

Controls how many examples you generate and how fast. Because the default is 5, a span_with_tools generation config must override it explicitly:

output

Controls where the generated dataset goes.

labelling

Optional: run LLM-as-a-judge labeling workflows. If enabled, metric.llmaj_source_prompt is required.

data_quality_metrics

Optional: compute UMAP and drift-based diagnostics.