Overview
AutoEval runs evals on the LLM calls your applications make, so you know whether each workflow works, which model to run, and what it costs. For each call it takes the input (the system prompt and the user prompt or conversation) and the output, and grades it against two kinds of rules:- Default rules. On for every call from day one: is the output a correct, complete answer to the input it was given? A judge model returns a verdict, a score from 0 to 5, and an explanation.
- Custom rules. Checks your team writes in plain English for each use case, such as “always include a link to a help article” or “reply in the language the user wrote in”. Each rule returns pass, fail, or not applicable, with an explanation.
- Measure quality in production. See the correctness rate and the pass rate of every rule, per use case, model, and tenant, and find the calls that failed before your customers report them.
- Keep a golden eval set. Build a set of inputs from your own traffic that stays current as your product and your users change.
- Compare models. Replay the golden eval set on other models, including your own in-house or fine-tuned models, grade every output the same way, and compare the results with cost and latency before you change models.
How it works
- Collect calls. AutoEval needs the input and output of each call. Calls arrive from the Iris Control endpoint, from a log import, or one at a time through the evaluate API.
- Grade each output. A judge model reads the system prompt, the user prompt or conversation, and the output, and returns the correctness verdict from the default rules and a result for each of the use case’s custom rules.
- Keep a golden eval set. AutoEval builds the golden eval set for each use case from your call logs and keeps it current. You can also add calls from the call log or upload a file.
- Compare models. AutoEval sends every input in the eval set, with its original system prompt, to each model you choose, and grades each output with the same default and custom rules.
Rules
Default rules
Every output is graded for correctness without any setup: is it a correct, complete answer to its own system prompt and user prompt? The result has a verdict (correct or defect), a score from 0 to 5, and an explanation. See Results.
Custom rules
Custom rules are checks written in plain English, in the same format as AutoQA rules. Each use case has its own rules, and every output in that use case is graded against all of its active rules. To create a rule, open AutoEval in the Iris Control dashboard, select the use case, and click Create rule. Each rule has:
Example rules:
A rule returns
not_applicable when it doesn’t apply to that call, for example a rule about refunds on a question about passwords. Not applicable results are left out of the rule’s pass rate.
Results
Every graded output has one result:
The AutoEval page of the dashboard rolls results up by use case, model, tenant, and rule: correctness rate, average score, the pass rate of each rule, and the failed calls behind each number.
Golden eval set
A model comparison is only as good as the inputs it runs on. Eval sets written by hand for a pilot stop matching production within months: new workflows are missing, common questions repeat, and the hard cases drop out. AutoEval keeps a golden eval set for each use case that stays live:- Built from real traffic. Inputs come from your call logs, so the set reflects what your users ask today.
- No redundancy. Duplicate and near-duplicate inputs are removed, so one common question can’t skew the score.
- Diverse. The set is balanced across workflows, tenants, languages, and edge cases, and includes calls that failed.
- Current. When you launch a new use case or workflow, it gets its own slice of the set. Inputs that no longer match your product are retired.
Compare models
- Open AutoEval, select a use case, and open Compare models.
- Choose the eval set: the use case’s golden eval set, calls selected from the call log, a filter (for example the last 30 days, or only failed calls), or an uploaded file.
- Choose the models. Any model from your providers can be compared, including a self-hosted model with an OpenAI-compatible endpoint.
- Run the comparison.
- Correctness rate and average correctness score
- Pass rate of each rule, critical rules first
- Cost per call and total cost, from each provider’s price
- Typical and slowest latency
Import logs
Use a log import to run evals on calls your applications already made without routing traffic through Iris Control. Send one record per LLM call as JSONL:
For a conversation, send one record per assistant turn: the conversation up to that turn in
messages, and the turn in output. For voice, use the transcript.
Send a one-time file to your Iris Control point of contact, or set up a recurring export to a storage bucket with them. Exports from logging tools such as Langfuse, LangSmith, or Helicone can be converted to this format.
Evaluate API
Grade one output on demand, for example from your own test suite or CI. The endpoint grades the output against the rules you send, or against the use case’s rules when you senduse_case instead.
correctness and rules fields described in Results. Send up to 100 rules per request.
Data handling
Inputs and outputs are redacted for PII and secrets before they are stored. Set how long they are kept with the use case’slogging.retention_days. If prompts and outputs can’t leave your environment, Iris Control and AutoEval can run in your own VPC; see the customer VPC reference architecture.
Questions? Contact us at contact@irisagent.com or book an Iris Control demo.