- Compare models (including fine-tuned or self-hosted ones) on correctness, cost, and latency before you switch.
- Catch regressions by scoring every production call in the dashboard.
- Test changes before release from your test suite or CI with the evaluate API.
Get started
AutoEval needs the input and output of each LLM call. Pick one option.Option 1: Route calls through Iris Control (recommended)
Every call is captured automatically, and you also get Iris Control’s routing, failover, spend limits, and redaction.- In the Iris Control dashboard, create an API key and add your model providers.
-
Create a use case for each LLM feature, such as
support-answers. -
Point your OpenAI-compatible client at Iris Control and set
modelto the use case name:Python - Optional: add custom rules.
Option 2: Send a copy of your call logs
Your app keeps calling its providers as it does today. You send AutoEval a copy of the calls. See Send your call logs.Golden eval set
AutoEval builds one set per use case from your traffic:- Inputs come from real calls.
- Duplicates and near-duplicates are removed.
- The set is balanced across workflows, tenants, languages, and edge cases, and includes failed calls.
- New use cases and workflows get their own slice. Inputs that no longer match your product are retired.
Rules
Default rules
Every output is graded for correctness with no setup: is it a correct, complete answer to its own system prompt and user prompt? You get a verdict (correct or defect), a score from 0 to 5, and an explanation.
Custom rules
Custom rules are plain-English checks, in the same format as AutoQA rules. Each use case has its own rules. To add one, open AutoEval in the Iris Control dashboard, select the use case, and click Create rule.
Examples:
A rule returns
not_applicable when it doesn’t apply to a call (for example, a refund rule on a password question). These results are left out of the pass rate.
Results
Each graded output has one result:View scores in the dashboard
The AutoEval page shows scores as calls are graded:- Every call: input, output, correctness verdict and score, and each rule result with explanations.
- Rollups: correctness rate, average score, and each rule’s pass rate, by use case, model, tenant, and rule. Critical failures show first.
- Failures: filter to failed calls to see the examples behind each number.
Compare models
- Open AutoEval, select a use case, and open Compare models.
- Choose the eval set: the golden eval set (default), calls from the call log, a filter (such as the last 30 days, or only failed calls), or an uploaded file.
- Choose the models. Any model from your providers works, including a self-hosted model with an OpenAI-compatible endpoint.
- Run the comparison.
Send your call logs
Send one JSONL record per LLM call:
For a conversation, send one record per assistant turn: the conversation so far in
messages and the turn in output. For voice, use the transcript.
To start, send a one-time file to your Iris Control point of contact. To stay current, set up a recurring export to a storage bucket with them. Exports from Langfuse, LangSmith, or Helicone can be converted to this format.
Evaluate API
Grade one output on demand, for example in CI before you ship a prompt change. Production scores don’t need the API. Sendrules, or send use_case to use that use case’s rules.
correctness and rules fields from Results. Send up to 100 rules per request.
Data handling
Inputs and outputs are redacted for PII and secrets before they are stored. Set retention 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? Email contact@irisagent.com or book an Iris Control demo.