Overview
Everything the platform does starts from a seed dataset, and there are two ways to get one: from production traces you already have, or from a small labelled dataset you prepare by hand.
have production traces from an existing LLM app?
│
yes ────────┴──────── no
│ │
trace processing prepare one from
turns them into a your labelled data
seed dataset by hand
│ │
└──────────┬──────────┘
▼
SEED DATASET
│
▼
teacher evaluation can the teacher solve this at all?
│
▼
synthetic data generation the teacher writes the training data
│
▼
model training the student learns the task
│
▼
deployment
From teacher evaluation onward the two paths are the same, with one addition for traces: the original production model’s score becomes a baseline your trained student can be measured against.
The stages
Section titled “The stages”| Stage | What it does | Roughly how long |
|---|---|---|
| Task selection | Pick the task type, which sets the shape of your data | - |
| Trace processing | Turns raw logs into a seed dataset | up to 45 min |
| Seed dataset | Prepares a seed dataset from labelled examples | - |
| Teacher evaluation | Feasibility gate: can the teacher do it? | up to 30 min |
| Synthetic data generation | The teacher writes the training set | up to 90 min |
| Model training | Fine-tunes and evaluates the student | up to 90 min |
| Deployment | Serves the model | up to 40 min |
Task selection comes first, since the task type determines the shape of everything you prepare afterwards. Then you take one of the two entry points, and from teacher evaluation onward every build follows the same path.
Both entry points need the same two files, config.yaml and job_description.json. Their pages
cover what goes in them for that path.
Run teacher evaluation before you spend anything
Section titled “Run teacher evaluation before you spend anything”Synthetic data generation and model training are the two stages that cost real money. Each is credit-gated and takes up to 90 minutes. Teacher evaluation costs one credit, takes minutes, and tells you whether the task is solvable at all: if the teacher can’t do it, the student won’t learn it either.
Read your balance with distil credits-balance against your whole plan, not the next command. A
generation run with no training credit left spends a credit on data you then can’t train on.
What a config file is
Section titled “What a config file is”config.yaml says which task type you’re training for, which student model you’re training, and
which teacher is doing the teaching. Three fields are enough to start:
base:
task: classification # see Task selection
student_model_name: Qwen3-0.6B # the small model you're training
teacher_model_name: openai.gpt-oss-120b # the large model that teaches it
Everything else has a default. Each stage page introduces the config section it cares about at
the point where it matters: teacher evaluation introduces evaluation, generation introduces
synthgen, training introduces tuning. The complete table is
Config file.
Pick the models from Supported models, and note that tool-calling tasks restrict the choice.