- 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