code · freeuipathdeterministicmirrors uipath.eval ExactMatchEvaluator / autoevals ExactMatch

Exact match

Exact match checks whether the output equals the expected value after trimming whitespace and lower-casing. It mirrors UiPath's ExactMatchEvaluator and autoevals ExactMatch, runs in code, and costs nothing.

how it works // frame by frame

What the evaluator does

Normalise both strings (trim, collapse whitespace, lower-case) and compare. Score is 1 or 0.

frame 1/4 · the two inputs
output
billing
expected
Billing 
1.trim and collapse whitespace
2.lower-case both sides
3.compare
matchscore 1
runs in code · $0 · ~0 ms · deterministic
when to use it

Reach for it when

  • Classification labels, IDs, enum values, short canonical answers.
  • As a free first pass before any judgment evaluator.

Not the right tool when

  • Free text (use answer_similarity or answer_correctness).
  • Numbers with formatting differences (use numeric_diff).

Watch out for

  • Punctuation and Unicode variants still count as mismatches; normalise upstream if that is not what you want.
inputs and example

What to send

required fields
outputexpected
optional fields
none
in suites
CorrectnessAgentEverything
result shape

score 0–1 computed in code, label, passed at an evaluator-specific threshold, no probabilities.

POST /api/v1/evaluateopen in console
{
  "evaluators": [
    "exact_match"
  ],
  "output": "billing",
  "expected": "Billing "
}
expected

Match after normalisation: score 1.

rolling it up

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.

related evaluators
questions people ask
Is exact match case-sensitive?
No. jeval lower-cases and trims both sides before comparing.