Inline Datasets
Embed your benchmark dataset directly in the YAML config — no separate JSONL file required.
When to inline vs. when to keep a file
The schema is the same: each inline record matches one line of the equivalent JSONL file.
Single-turn
Multi-turn
Random pool
Single-pool inline:
Multi-pool inline (mirrors a directory-of-JSONLs file layout):
Trace replay (mooncake_trace)
Mutual exclusion
path: and records: are mutually exclusive. Setting both, or neither, raises a Pydantic ValidationError at config load with this message:
Soft size limit
If you inline more than 500 records, AIPerf logs a warning recommending a file. There is no hard cap — you can keep going if you have a good reason — but reading a 5,000-line YAML in code review is rough. The threshold is configurable via AIPERF_DATASET_INLINE_RECORDS_WARN_THRESHOLD.
Tutorial template
A bundled template demonstrates all three formats: