jevuipathscoremirrors uipath.eval LLMJudgeOutputEvaluator / LlmAsAJudgeEvaluator

LLM-as-judge (rubric)

LLM-as-judge with a rubric scores an output 0–4 against free-text criteria, the way UiPath's LLMJudgeOutputEvaluator and autoevals LLMClassifier do, but as a calibrated Jev distribution over five ordered levels instead of a generated verdict.

Run this example in the console 1 jev question · answered inside one request
how it works // frame by frame

What the evaluator does

Your criteria become the rubric; Jev returns a probability per level and the expected level. Nothing is generated, so there is nothing to parse and no rationale tokens to pay for.

frame 1/4 · the state
state
outputStay refreshed all day! Cold for 24h, hot for 12, leak-proof, dishwasher safe. Grab yours now!
criteriaone paragraph · insulation · leak-proof · convenience feature · no exclamation marks
question → jev

Judge `output` strictly against the rubric in `criteria`.

ordered levels
0
fails completely
2%
1
meets a small part
10%
2
meets with notable gaps
55%
3
meets with minor issues
30%
4
fully meets
3%
2.2 / 4conf 55%fail · threshold 75%
exactly what jev is asked

The question, verbatim

This is the question the API sends for the example below, generated from the same code path the playground and API use. Jev sees the request fields as state and returns a probability for each outcome. Nothing is generated, so there is nothing to parse.

qscore · ordered rubric

Judge `output` (a response to `input`, with `expected` as an optional reference) strictly against the rubric in `criteria`.

  1. 0The output fails the criteria completely
  2. 1The output meets a small part of the criteria
  3. 2The output meets the criteria with notable gaps
  4. 3The output meets the criteria with minor issues
  5. 4The output fully meets the criteria
when to use it

Reach for it when

  • Any custom quality bar you can write down.
  • Replacing prompt-and-parse judge code with a typed call.
  • Pairing with closed_qa (binary) for a pass gate plus a graded score.

Not the right tool when

  • You have a reference answer (factuality or answer_correctness are sharper).
  • The criteria need external facts the state does not contain.

Watch out for

  • Rubrics that mix several dimensions produce middling levels; split them into separate evaluators when you need to know which failed.
  • Hard rules (no exclamation marks, one paragraph) are better as their own Noul questions than buried in a rubric.
inputs and example

What to send

required fields
outputcriteria
optional fields
inputexpected
in suites
CorrectnessAgentEverything
result shape

score 0–1 (expected level ÷ top level), label “x.x / n”, confidence, a probability per level, passed at 75% of the scale.

POST /api/v1/evaluateopen in console
{
  "evaluators": [
    "llm_judge"
  ],
  "input": "Write a one-paragraph product description for a stainless water bottle.",
  "output": "Stay refreshed all day! Cold for 24 hours, hot for 12, leak-proof and dishwasher safe. Grab yours now!",
  "criteria": "One paragraph, mentions insulation, mentions leak-proofing, mentions a convenience feature, no exclamation marks."
}
expected

Level 2: content complete, hard rule violated.

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
What is LLM-as-judge?
Using a model to grade another model's output against a rubric. Traditionally a prompt that returns prose and a number; in jeval it is a Jev Score question that returns a probability per rubric level.
Why is a Jev rubric judge cheaper than an LLM judge?
Jev does not generate text. You pay for input tokens only, and every rubric in your suite runs inside the same request.