In practice it is a plain text file, usually JSONL, which holds one JSON object per line. Each line is one complete example: the input your model sees in production, plus the exact output you want back.
{"messages": [
{"role": "system", "content": "Triage support tickets. Reply with JSON only."},
{"role": "user", "content": "I was charged twice for order 4417."},
{"role": "assistant", "content": "{\"category\": \"billing\", \"priority\": \"high\", \"order\": \"4417\"}"}
]}
In the real file that whole object sits on a single line.
Two things matter more than volume. Keep the structure identical on every line, with the same system prompt and the same output shape. The model copies whatever you repeat, including sloppiness. And examples should come from real traffic, so training inputs match production inputs.
You normally ship two files: a training set and a validation set.
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓