Evaluation modes
Use evaluation functions to turn task outputs into row scores and aggregate metrics.- Row
- Column
- Run
Row evaluations run once per row and usually produce per-row score columns.
How inputs bind
Use this mental model when writing evaluation functions:- Row evaluations receive one
rowplus any mapped scalar values. - Column evaluations receive mapped column lists across the whole run.
- Run evaluations receive
all_runsafter repetitions.
Column mapping
Usecolumn_map to bind evaluator function args to columns:
score() vs eval()
run.score(...)is an alias ofrun.eval(...)- In the docs, prefer
run.score(...)for clarity
Signals vs metrics
Signals are not scores.- Emit signals during task execution for runtime facts like
retrieved_doc_count,phase, ortests_failed_after. - Compute metrics after execution with row/column/run evaluations.
Metric helpers
Eval also provides helper APIs:
Output locations
- Task outputs and row scores are appended to each
run.rows[i] - Aggregate metrics are placed in
run.metrics - The execution summary is available in
run.health