Tool call args (exact)
Tool call args (exact) computes the share of expected tool calls that appear in the output with the same name and exactly matching arguments. It mirrors UiPath's ToolCallArgsEvaluator and is free.
What the evaluator does
For each expected call, look for an actual call with the same name whose arguments are structurally identical (JSON similarity ≥ 0.999). Score is matched / expected.
book_flight({flight_id:"UA-873", passenger:"Priya"})book_flight({flight_id:"UA-873", passenger:"Priya"})Reach for it when
- Arguments that must be precise: recipients, amounts, IDs.
- Deterministic CI gates.
Not the right tool when
- Schemas or formats vary (use tool_call_semantic).
Watch out for
- A renamed key fails the whole call; that is the point, but pair with the semantic version to see intent.
What to send
score 0–1 computed in code, label, passed at an evaluator-specific threshold, no probabilities.
{
"evaluators": [
"tool_call_args"
],
"output": "…",
"tool_calls": [
{
"name": "book_flight",
"args": {
"flight_id": "UA-873",
"passenger": "Priya"
}
}
],
"expected_tool_calls": [
{
"name": "book_flight",
"args": {
"flight_id": "UA-873",
"passenger": "Priya"
}
}
]
}1/1 matched.
Aggregate with
One result per item is a fact; a dataset of them is a metric. These are the aggregations that fit this evaluator's output shape.
Precision is the share of predicted positives that were really positive; recall is the share of real positives the evaluator caught; F1 is their harmonic mean, which is only high when both are.
Pass rate is the share of items whose evaluator result met its threshold.
- What does 'exact' mean for tool arguments?
- Same key names and same values after JSON parsing. Number formatting differences like 89 vs 89.0 are treated as equal; string differences are not.