failure_mode. Import evaluators from sengol.evaluators, or list them by
class name in sengol.yaml and ControlBooks.
List them, filtered by policy, from the CLI:
A bare class name in
sengol.yaml or a ControlBook builds the evaluator
with default arguments. In sengol.yaml you can pass arguments with
- name: KeywordEvaluator and an args: mapping. With no phrases,
RequiredDisclosureEvaluator fails every input.Deterministic
No model and no network. They run first, in order. A CRITICAL failure skips the LLM evaluators that follow.
The tool, MCP and delegation evaluators take trajectory or delegation
inputs, not a plain prompt and response.
LLM judges
Each takesjudge= (see Add an LLM judge).
Without a judge, the evaluator scores LLM_EVALUATOR_ERROR. A judge that
exceeds its severity timeout scores JUDGE_TIMEOUT.
EnsembleEvaluator combines several judges and reports
ENSEMBLE_MEMBER_FAILED.
Statistical model evaluators
For traditional ML models. Installsengol[model]:
AUCEvaluator, PSIEvaluator, ABEvaluator, ChampionChallengerEvaluator,
FairnessEvaluator, OutcomeMonitorEvaluator. They take a
ModelEvalInput (features, prediction, ground truth) instead of a prompt
and response.
Writing your own
SubclassDeterministicEvaluator or LLMEvaluator and declare a
failure_mode:
custom_evaluator.py