- Build reusable input sources (adapters, files, generators)
- Parameterize datasets with clear variant labeling
- Preprocess inputs consistently (e.g., expand multi-turn data)
Components
DynamicDataLoader
Uses callables that return lists ofEvaluationRow. Each callable becomes a labeled variant.
InlineDataLoader
Use when you have rows or raw messages inline.Preprocessing
All loaders support an optionalpreprocess_fn applied before returning rows. For example, expand multi-turn traces into multiple test cases:
Using with evaluation_test
Metadata and Variants
Each loader emits one or more variants. For each variant, Eval Protocol stores metadata on every row underrow.input_metadata.dataset_info:
data_loader_type: loader class (e.g.,DynamicDataLoader)data_loader_variant_id: callable name or inline iddata_loader_variant_description: docstring/descriptiondata_loader_num_rows: original count before preprocessingdata_loader_num_rows_after_preprocessing: final count

