Quick Start
Evaluation Types
AccuracyEval
Uses an LLM judge to score output correctness on a 1-10 scale.str
default:"openai/gpt-4o-mini"
Model used to judge output quality. Accepts string shorthand.
float
default:"7.0"
Minimum score (1-10) required for a passing result.
PerformanceEval
Profiles execution time and memory usage across multiple runs.float
Maximum allowed p95 execution time in milliseconds.
None disables the check.float
Maximum allowed peak memory delta in megabytes.
None disables the check.int
default:"3"
Number of profiling runs. Duration uses p95 percentile; memory uses peak across all runs.
int
default:"0"
Number of warmup runs excluded from metrics (useful for cache priming).
ReliabilityEval
Verifies that expected tools are called during agent execution.List[str]
Tool names that must be called during execution.
bool
default:"false"
When
true, unexpected tool calls cause failure. When false, only missing tools fail.Per-case overrides are supported via
EvalCase(metadata={"expected_tools": ["tool_a"]}).AgentAsJudgeEval
Evaluates output against custom criteria using an LLM judge. Supports numeric (1-10 score) and binary (pass/fail) modes.str
Evaluation criteria for the judge. Can be overridden per-case via
case.metadata["criteria"].str
default:"numeric"
"numeric" for 1-10 scoring with threshold, or "binary" for pass/fail.Batch Evaluation
Run multiple test cases and get aggregated results:EvalSuite result provides:
Team Evaluation
All eval types support team evaluation:Result Types
Each eval type returns a specialized result:
All results share common fields:
eval_name, success, score, reason, metadata.
All results support .to_dict() for JSON serialization.
Custom Evaluators
ExtendBaseEval to create custom evaluation logic: