Step 20 of 22
Evaluation
Test quality, accuracy and regressions before and after every change. Without evaluation, every prompt or model change is a guess. A small test set beats a big leaderboard.
How to choose
- Prompt and app regressions in CI: a test runner for prompts.
- RAG quality (faithfulness, context relevance): RAG-specific metrics.
- Model capability and safety: benchmark harnesses.
What to look for
The questions that separate the options, in order of how much they matter.
01
Your own test set, not a leaderboard
Public benchmarks such as MMLU or GSM8K, run with tools like the LM Evaluation Harness, compare models in general; they say little about your prompts, documents or users. The most useful evaluation is 50 to 200 real examples from your product with known good answers, grown every time a bug reaches production. Use benchmark harnesses to check that a fine-tune or model swap has not broken general ability, and your own set for everything else.
02
Offline tests and online scoring
Offline evaluation runs a fixed dataset before you ship, like unit tests. Online evaluation scores a sample of live production traces with the same metrics, catching problems your test set does not contain. Platforms that do both (Braintrust, Opik, Arize Phoenix) let a failing production trace become a new test case; libraries such as promptfoo, DeepEval and Ragas are offline unless paired with a tracing tool.
03
LLM-as-judge reliability
Most quality metrics ask another model to grade the answer. Judges vary between runs, favour longer or more confident answers and cost money per score. Check a sample of judge verdicts by hand, fix the judge model and prompt so scores are comparable over time, and prefer exact checks (string match, JSON schema, code execution) wherever the task allows.
04
RAG metrics that separate retrieval from generation
For retrieval-augmented apps you need to know whether the right documents were found (context precision and recall) and whether the answer stuck to them (faithfulness). Ragas popularised these definitions; DeepEval, promptfoo and Braintrust's open-source autoevals library now implement them too. A single overall 'correctness' score hides which half of the pipeline failed.
05
CI integration
Evaluations only prevent regressions if they run automatically on every prompt, model or retrieval change. promptfoo uses a YAML config and CLI built for CI; DeepEval and Opik plug into pytest; Inspect and the LM Evaluation Harness are run as Python or CLI jobs. Set a pass threshold per metric and fail the build when it drops, rather than reading dashboards after the fact.
06
Test-set management and versioning
Datasets change as you add cases and fix labels, so results are only comparable if you know which version of the set produced them. Hosted platforms store datasets, experiments and their diffs; file-based tools rely on you keeping test cases in Git. Either works, but decide before the set grows past a few hundred examples.
07
Agent evaluation support
Agents need more than input-output checks: did they call the right tools, in a sensible order, within budget, without unsafe actions? Inspect is the strongest open option for sandboxed agent evaluations; DeepEval ships agent metrics. Check that the tool can score a whole trace, not only the final message.
08
Maintenance and licence
Ragas has not released since January 2026 and its team has moved on; promptfoo now belongs to OpenAI; Arize Phoenix is source-available under the Elastic License 2.0, not open source. These are not disqualifying, but they matter for a tool that will sit in your CI for years.
How the options differ
Evaluation tools fall into four groups. Test runners for prompts and apps (promptfoo, DeepEval) treat evals like unit tests: a config or pytest file of cases and assertions, run in CI. Metric libraries (Ragas, autoevals) supply definitions such as faithfulness and context precision that other tools reuse. Benchmark harnesses (LM Evaluation Harness, Inspect) measure models or agents on standard or custom tasks with research-grade rigour, and are the right tool for comparing models rather than testing a product.
The fourth group is observability platforms with evaluation built in (Braintrust, Opik, Arize Phoenix). They store datasets and experiments, score production traces online and turn failures into new test cases. Many teams pair a test runner in CI with one of these platforms in production.
8 tools, compared
Ranked by our rating. Open any review for sources, prices and the full verdict.
| Tool | Rating | Our verdict | Best for | Price |
|---|---|---|---|---|
| promptfoorepo | 4.5/5 | promptfoo turns LLM regression tests and red-team scans into a YAML file and one CI command; its new owner is the part to watch. | Teams shipping LLM apps who want regression tests and security scans in CI. | CLI free and open source (MIT); Community use includes red teaming up to 10,000 probes a month. Enterprise (managed cloud) and On-Premise are priced by quote. |
| Inspectrepo | 4.4/5 | Inspect is the shared harness of government and independent AI safety testing; product teams checking prompts in CI will find it more framework than they need. | Researchers and safety teams running agent and capability evaluations. | Free and open source under the MIT license. |
| LM Evaluation Harnessrepo | 4.4/5 | The common yardstick for model benchmarks, and the wrong instrument for judging an application built on top of one. | Researchers and model trainers comparing models on standard benchmarks. | Free and open source under the MIT license. |
| Braintrusttool | 4.3/5 | Braintrust is built for teams whose hardest question is whether the last change made the product better, and it charges by data rather than by head, which flatters big teams and punishes chatty agents. | Product teams who want evaluation-driven development with hosted tracing and are happy to pay for a managed service. | Starter free (1 GB data, 10k scores, $10 model credits, 14-day retention, unlimited users; then $4/GB and $2.50 per 1,000 scores). Pro $249/month (5 GB, 50k scores, $100 model credits, 30-day retention; then $3/GB and $1.50 per 1,000 scores). Enterprise custom, with SAML, BAA and self-hosted data plane. Qualifying startups get Pro free for 6 to 12 months. |
| DeepEvalrepo | 4.2/5 | A capable pytest-style eval library whose real cost is the judge model's bill, with a $200-a-month platform at the end of the funnel. | Python teams adding automated quality checks to LLM applications. | Free and open source under the Apache 2.0 licence. Confident AI's hosted platform is a separate paid product. |
| Arize Phoenixrepo | 4.2/5 | Phoenix has the strongest evaluation loop of the open tracing tools, wrapped in a licence and an owner that legal teams will want to discuss. | Engineers and data scientists who want standards-based tracing with a strong evaluation loop, starting on a laptop. | Free to self-host under the Elastic License 2.0 (source-available; no hosting it as a service for others). Managed Arize AX: Free (25k spans/month, 15-day retention, 1 GB); Pro $50/month (50k spans, 30 days, 10 GB); Enterprise custom. |
| Opikrepo | 4.1/5 | Opik gives away the whole server under Apache 2.0 and sells the cheapest hosted plan, but the self-hosted build has no user accounts and phones home by default. | Teams that want a permissively licensed, self-hostable tracing and evaluation platform, or a low-cost hosted one. | Free and open source under Apache 2.0. Cloud: Free (25k spans/month, 60-day retention); Pro $19/month (100k spans, then $5 per 100k; 400-day retention add-on $29 per 100k spans); Enterprise custom. |
| Ragasrepo | 3.4/5 | Its metric names became the vocabulary of RAG evaluation, but the code has been left without a maintainer. | Teams with an existing Ragas suite who can pin a version and carry their own fixes. | Free and open source under the Apache 2.0 licence. You pay for the judge-model API calls each metric makes. |
Side by side
The specifications that matter for this step. Checked 2026-10-19; confirm on the vendor’s site before you commit.
| Tool | Focus | How you write evals | RAG metrics | Production scoring | Licence |
|---|---|---|---|---|---|
| promptfoo | App regression tests and red teaming | YAML config + CLI | Context faithfulness, recall, relevance | No | MIT |
| Inspect | Agent and safety evals | Python tasks, solvers, scorers | Not published | No | MIT |
| LM Evaluation Harness | Standard model benchmarks | CLI or Python | No | No | MIT |
| Braintrust | Hosted evals and tracing | SDK, CLI, playground | Via autoevals (faithfulness etc.) | Yes, online scoring | Proprietary (autoevals MIT) |
| DeepEval | Unit-test style app evals | Python (pytest) | Faithfulness, answer relevancy | Via Confident AI (paid) | Apache 2.0 |
| Arize Phoenix | Tracing platform with evals | Python/TS SDK, datasets | Via Ragas or DeepEval evaluators | Evals run on traced data | Elastic License 2.0 |
| Opik | Tracing platform with evals | Python/TS SDK, pytest | Hallucination judges | Yes, online evaluation rules | Apache 2.0 |
| Ragas | RAG metrics; stalled since Jan 2026 | Python library | Faithfulness, context precision | No | Apache 2.0 |
Where this stage fits
- Chat with your documents: we would start with Ragas.
- Customer support agent: we would start with DeepEval.
- Coding agent: we would start with Inspect.
- Research & knowledge graph: we would start with Ragas.
- Assistant with long-term memory: we would start with DeepEval.
- Image generation pipeline: we would start with promptfoo.
- Voice agent: we would start with DeepEval.
- Document processing: we would start with DeepEval.
- Your own fine-tuned model: we would start with LM Evaluation Harness.