API Reference — Evaluators¶
Built-in evaluators. All extend BaseEvaluator and support composition via |, &, ~.
evaluators
¶
Built-in evaluator implementations.
Re-exports: ToolCalled, ResponseContains, SideEffectOccurred.
ToolCalled
¶
Bases: BaseEvaluator
Detects whether a tool was called, optionally matching parameters.
Parameter predicates can be exact values or callables. Callables receive the parameter value and return True/False.
This evaluator only detects conditions. It does not reason about observability gaps. That adjustment is owned by the execution strategy.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tool_name
|
str
|
The tool to look for (positional-only). |
required |
**param_predicates
|
dict[str, Any | Callable[[Any], bool]]
|
Parameter name -> expected value or predicate. |
{}
|
Initialize with tool name and optional parameter predicates.
Source code in rampart/evaluators/tool_called.py
evaluate_async
async
¶
Check all turns for a matching tool call.
Source code in rampart/evaluators/tool_called.py
ResponseContains
¶
Bases: BaseEvaluator
Detects whether response text contains a target pattern.
Accepts a plain string (substring match), compiled regex, or callable predicate.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
target
|
str | Pattern | Callable[[str], bool]
|
Pattern to find (positional-only). |
required |
case_sensitive
|
bool
|
Whether substring match is case-sensitive. |
False
|
Initialize with target pattern and case sensitivity.
Source code in rampart/evaluators/response_contains.py
evaluate_async
async
¶
Check response text for the target pattern.
Source code in rampart/evaluators/response_contains.py
SideEffectOccurred
¶
Bases: BaseEvaluator
Detects whether a side effect of a given kind occurred.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kind
|
str
|
The side effect kind to look for (positional-only). |
required |
**detail_predicates
|
dict[str, Any | Callable[[Any], bool]]
|
Detail field -> expected value or callable predicate. |
{}
|
Initialize with side effect kind and optional predicates.
Source code in rampart/evaluators/side_effect.py
evaluate_async
async
¶
Check all turns for a matching side effect.