
LLM evaluation is the difference between "it seems fine" and "I can prove it works." If you're shipping LLM-powered features to users without systematic evaluation, you're essentially deploying untested code, except the failure modes are hallucinations, toxicity, and silently wrong answers instead of stack traces.
This guide covers everything: metrics, methods, frameworks, pipeline design, and EU AI Act compliance. No vendor bias, no fluff.
This page owns the evaluation methodology and pipeline-design intent. For a product-selection decision, use the separate ranking of eight LLM evaluation tools.
At a Glance
Before we get into the details, here's the full picture in one table.
| Aspect | Detail |
|---|---|
| What it is | Systematic measurement of LLM output quality |
| Who needs it | Any team shipping LLM-powered features to users |
| Core metrics | Faithfulness, answer relevancy, hallucination rate, toxicity |
| Evaluation methods | Automated metrics, LLM-as-a-judge, human review |
| Top open-source tools | DeepEval, Ragas, Langfuse (plus Arize Phoenix, source-available under Elastic License 2.0) |
| Top commercial tools | Braintrust, LangSmith, Datadog LLM Monitoring |
| Biggest gap in 2026 | EU AI Act compliance, most teams aren't ready |
| Time to set up | Basic evals: 1 day. Full CI/CD pipeline: 1-2 weeks |
| Cost | Free (open-source) to $500+/month (enterprise platforms) |
| Our verdict | Start with DeepEval or Ragas, add Braintrust when you need CI/CD gates |
Now let's break each piece down.
What Is LLM Evaluation (and Why Does It Matter in 2026)?
LLM evaluation is the systematic process of measuring and scoring the quality of large language model outputs against defined criteria, accuracy, relevancy, safety, and faithfulness to source data. It encompasses automated metrics, LLM-as-a-judge scoring, and human review to ensure LLM-powered applications deliver reliable results in production.
Why does this matter right now? Two reasons. First, LLMs have moved from prototypes to production features that real users depend on. A chatbot that hallucinates a company policy or a RAG system that cites nonexistent documents isn't a fun demo bug anymore, it's a support ticket, a legal risk, or a lost customer.
Second, the EU AI Act enforcement begins August 2026. If your AI system serves EU users, you'll need documented evaluation practices, not just a Slack message saying "I tested a few prompts and it looked fine."
Most teams are still doing what you might call "vibes-based evaluation", spot-checking a handful of outputs in a playground and deciding it looks good enough. That worked when LLMs were experiments. It doesn't work when they're features.
Evaluation answers three questions: Is the output correct? Is it safe? Is it useful? The rest of this guide shows you how to answer all three systematically.
One important distinction: this guide covers application evaluation, testing how your LLM-powered product performs on real tasks. That's different from model evaluation (pre-training benchmarks like MMLU), which tells you how a foundation model performs in general but says almost nothing about how it'll behave in your specific application.
Bottom line: If you're shipping LLM features without systematic evaluation, you're flying blind. The question isn't whether to evaluate, it's how.
LLM Evaluation Metrics, What to Measure and When
The metrics you track depend entirely on what you're building. A chatbot needs different evaluation than a code generator. Here's a practical taxonomy organized by use case, not alphabetically.
Text Similarity Metrics (When You Have Reference Answers)
These classic metrics compare generated text against a known-correct reference:
- BLEU measures n-gram precision, how many word sequences in the output match the reference. Originally designed for machine translation.
- ROUGE measures recall, how much of the reference content appears in the output. Common for summarization tasks.
- BERTScore uses contextual embeddings to measure semantic similarity, catching paraphrases that BLEU and ROUGE miss.
The catch? These only work when you have ground truth answers to compare against. Skip BLEU for open-ended generation, it penalizes creative rewording, which is exactly what you want from a good chatbot.
Semantic Evaluation Metrics (When You Need Meaning, Not Exact Match)
For open-ended generation, you need metrics that evaluate meaning:
- Answer relevancy scores whether the response actually addresses the user's question.
- Coherence measures how logically the output flows.
- Conciseness flags unnecessarily verbose responses.
- G-Eval is the flexible option: you define custom evaluation criteria in natural language, and an LLM judge scores outputs using chain-of-thought reasoning. This is where most teams spend their time in 2026.
RAG-Specific Metrics
If you're building retrieval-augmented generation, you're evaluating two components, the retriever and the generator. The Ragas framework defines four core metrics:
- Faithfulness, Is the answer grounded in the retrieved context? This catches hallucinations.
- Context relevancy, Did the retriever pull the right documents?
- Context recall, Did the retriever find ALL relevant documents?
- Answer relevancy, Does the response actually address the query?
Safety and Compliance Metrics
These metrics protect your users and your company:
- Hallucination rate, factual correctness against known sources
- Toxicity detection, harmful, offensive, or inappropriate content
- Bias measurement, disparate treatment across demographics
- PII leakage detection, personal data showing up in outputs
Which Metrics for Which Application?
This is the table no vendor guide gives you. Instead of listing every metric alphabetically, match your application type to the metrics that actually matter:
| Application Type | Must-Track Metrics | Nice-to-Have Metrics |
|---|---|---|
| Chatbot | Answer relevancy, coherence, toxicity | Response time, user satisfaction |
| RAG system | Faithfulness, context relevancy, hallucination rate | Context recall, answer completeness |
| AI agent | Task completion rate, tool use correctness, cost per task | Context retention, error recovery |
| Summarization | ROUGE, faithfulness, conciseness | BERTScore, coherence |
| Code generation | Functional correctness (pass@k), syntax validity | Code style, efficiency |
Bottom line: Don't measure everything. Pick 3-5 metrics that match YOUR application type and focus there.
How Do You Actually Run Evals? (The Three Methods)
There are three ways to evaluate LLM outputs. Most production teams use all three, but in very different proportions.
Automated Metrics (Fast, Cheap, Limited)
Script-based scoring using metrics like BLEU, ROUGE, exact match, or regex patterns. You write a test, it runs in milliseconds, and you get a pass/fail.
The upside: it's fast, reproducible, and essentially free. The downside: these metrics can't judge nuance, creativity, or real-world helpfulness. A response can score perfectly on ROUGE and still be useless to the user.
Use automated metrics for regression testing, CI/CD gates, and high-volume screening where you need speed over depth.
LLM-as-a-Judge (The 2026 Default)
This is where the industry has landed. You use a separate LLM, typically GPT-4o or Claude, to score outputs against your criteria. The G-Eval pattern works like this: define your evaluation criteria in natural language, feed the judge the criteria plus the test case, and it produces a chain-of-thought reasoning plus a score.
Research from Zheng et al. shows approximately 81% correlation with human scores, which is good enough for day-to-day evaluation when you understand the failure modes (more on that in the next section).
Use LLM-as-a-judge for open-ended generation, subjective quality assessment, and custom criteria that can't be captured by simple metrics.
Human Evaluation (Gold Standard, Doesn't Scale)
Expert reviewers score outputs using rubrics, Likert scales, or A/B blind tests. Nothing beats a human reading a response and saying "this is actually helpful" or "this would confuse the user."
The problem: it costs $5-50 per evaluation, takes minutes instead of milliseconds, and you can't run it on every request. Use human evaluation for calibrating your LLM-as-judge, compliance audits, and validating edge cases.
Choosing Your Method
| Method | Speed | Cost | Accuracy | Best For |
|---|---|---|---|---|
| Automated metrics | Milliseconds | Near-zero | Moderate (surface-level) | CI/CD, regression, screening |
| LLM-as-a-judge | Seconds | $0.01-0.05/eval | High (81% human correlation) | Day-to-day evals, custom criteria |
| Human review | Minutes-hours | $5-50/eval | Highest | Calibration, compliance, edge cases |
Bottom line: Use LLM-as-a-judge for 80% of your evals, automated metrics for CI/CD gates, and human review for calibration and compliance. That's the 2026 playbook.
LLM-as-a-Judge: How It Works, When It Fails
LLM-as-a-judge has become the default evaluation method for good reason, it's flexible, relatively cheap, and correlates well with human judgment. But it has real blind spots that vendor guides conveniently skip.
How G-Eval Works
The pattern is straightforward. You define what "good" looks like in natural language, the judge LLM reads your criteria alongside the output being evaluated, reasons through it step by step, and produces a score.
Here's a practical example using DeepEval's G-Eval implementation:
from deepeval.metrics import GEval
from deepeval.test_case import LLMTestCase, LLMTestCaseParams
correctness_metric = GEval(
name="Correctness",
criteria="Determine if the output is factually correct based on the expected output.",
evaluation_params=[
LLMTestCaseParams.ACTUAL_OUTPUT,
LLMTestCaseParams.EXPECTED_OUTPUT,
],
threshold=0.7,
)
test_case = LLMTestCase(
input="What is the capital of France?",
actual_output="Paris is the capital of France.",
expected_output="The capital of France is Paris.",
)
correctness_metric.measure(test_case)
print(f"Score: {correctness_metric.score}") # 0.0 to 1.0
print(f"Reason: {correctness_metric.reason}")You can define any criteria, correctness, helpfulness, professionalism, brand voice compliance, and the judge LLM will score against it.
Known Biases (What Vendor Guides Won't Tell You)
Here's where most evaluation guides stop. They show you the setup and move on. But LLM judges have systematic biases that can silently corrupt your evaluation results:
- Position bias: When comparing two outputs (A/B testing), LLM judges consistently prefer whichever option is presented first. Swap the order and the "winner" changes.
- Self-preference bias: GPT-4 rates GPT-4 outputs higher than Claude rates those same outputs, and vice versa. The judge favors its own model family.
- Verbosity bias: Longer responses get higher scores regardless of actual quality. A 500-word answer scores better than a 100-word answer that says the same thing more clearly.
- Anchoring bias: If you show the judge prior scores or examples, subsequent ratings get pulled toward those anchors.
Mitigating Judge Bias
These biases are manageable once you know about them:
- Randomize option order in A/B comparisons (fixes position bias)
- Use a different model family as judge than your generator (fixes self-preference)
- Include length-normalization instructions in your scoring criteria (fixes verbosity bias)
- Run multi-judge panels, use 2-3 different LLMs and average the scores for important evaluations
Bottom line: LLM-as-a-judge works surprisingly well, but only if you know its blind spots. Always validate against human scores on your specific use case before trusting it fully.
Evaluating RAG Systems: Faithfulness, Relevancy, and Recall
RAG evaluation is the single most common evaluation use case in 2026, and it's fundamentally different from evaluating a standalone LLM. You're testing two components, the retriever and the generator, and a failure in either one produces bad outputs.
The Four Core Metrics
- Faithfulness, Is the generated answer actually grounded in the retrieved context? A response that sounds correct but includes information not present in the retrieved documents is a hallucination. This is your most important metric.
- Context relevancy, Did the retriever pull documents that are actually relevant to the query? Garbage in, garbage out.
- Context recall, Did the retriever find ALL relevant documents, or did it miss critical context?
- Answer relevancy, Even with perfect retrieval, does the final response actually address what the user asked?
Running RAG Evals with Ragas
Ragas is the purpose-built framework for RAG evaluation. Here's the core pattern:
from ragas import evaluate
from ragas.metrics import faithfulness, context_relevancy, answer_relevancy
from datasets import Dataset
# Your evaluation dataset
eval_data = {
"question": ["What is our refund policy?"],
"answer": ["You can request a refund within 30 days of purchase."],
"contexts": [["Refund Policy: Customers may request a full refund within 30 days."]],
"ground_truth": ["Customers can get a refund within 30 days."],
}
eval_dataset = Dataset.from_dict(eval_data)
result = evaluate(
dataset=eval_dataset,
metrics=[faithfulness, context_relevancy, answer_relevancy],
)
print(result)
# {'faithfulness': 0.95, 'context_relevancy': 0.88, 'answer_relevancy': 0.91}Common RAG Evaluation Mistakes
Three patterns that trip teams up repeatedly:
- Evaluating only the generator and ignoring retriever quality. Your answer might be perfectly generated from the wrong documents.
- Using BLEU or ROUGE for RAG, these metrics can't detect hallucinations at all. A response can score high on ROUGE while containing fabricated information.
- Not testing with adversarial queries, edge cases that break retrieval (ambiguous queries, out-of-scope questions, queries with no relevant documents) are where RAG systems fail hardest.
If you're choosing the right stack for your AI application, make sure your infrastructure supports evaluation from the start, bolting it on later is always harder.
Bottom line: RAG evaluation is non-negotiable. faithfulness and context_relevancy are your two must-track metrics. Everything else is secondary.
Evaluating AI Agents: Beyond Single-Call Metrics
Agent evaluation is where things get genuinely hard. Unlike a chatbot or RAG system, an agent takes multiple steps, uses tools, makes decisions, and can go off in unexpected directions. Traditional single-call metrics don't capture this.
Agent-Specific Metrics
- Task completion rate, Did the agent complete the overall objective? This is your north star metric.
- Tool use correctness, Did it call the right tools with the right parameters? An agent that calls a database query with the wrong filters might "complete" the task with wrong data.
- Context retention, Does the agent maintain coherent context across a multi-step workflow, or does it lose track of what it's doing?
- Cost per successful task, Agents can burn through API calls. An agent that takes 47 LLM calls to complete a task that should take 5 is a production cost problem.
- Error recovery, When a tool call fails or returns unexpected results, does the agent adapt or get stuck in a loop?
The Statistical Testing Challenge
Here's what makes agent evaluation fundamentally different: agent behavior is non-deterministic. Run the same task ten times and you might get seven successes, two partial completions, and one infinite loop. You need statistical evaluation, run every test case N times and report completion rates, not pass/fail.
Frameworks are catching up. DeepEval now includes agent-specific metrics, and AWS has published agentic evaluation patterns. But honestly, the tooling is still early. If you're deploying AI agents in production, expect to build some custom evaluation logic.
Bottom line: Agent evaluation is still early, but task completion rate and cost per task are the two metrics you should track from day one.
LLM Evaluation Frameworks Compared
Every existing framework comparison is written by a vendor ranking themselves first. Here's the neutral version.
| Framework | Type | Best For | Strengths | Limitations | Pricing |
|---|---|---|---|---|---|
| DeepEval | Open-source | RAG evals, custom metrics | 14+ metrics, G-Eval, CI/CD integration, Pytest runner | Python only, steep learning curve | Free (OSS), Confident AI cloud paid |
| Ragas | Open-source | RAG-specific evaluation | Best RAG metrics, lightweight, easy to start | RAG-focused only, limited agent eval | Free (OSS) |
| Braintrust | Commercial | CI/CD-integrated evals | Deployment blocking, experiment tracking, collaboration | Vendor lock-in, pricing opaque | Free tier, paid plans |
| LangSmith | Commercial | LangChain ecosystem | Deep LangChain integration, tracing, datasets | LangChain-centric, limited standalone use | Free tier, paid plans |
| Langfuse | Open-source | Observability + evaluation | Self-hostable, tracing, prompt management | Younger ecosystem, fewer built-in metrics | Free (OSS), cloud paid |
| Arize Phoenix | Elastic License 2.0 (source-available) | Production monitoring + evals | Embedding analysis, drift detection, observability | More monitoring than evaluation, complex setup | Free to self-host (ELv2), Arize cloud paid |
Choose This If...
- You're just starting: DeepEval or Ragas, both free, well-documented, quick to set up
- You're using LangChain: LangSmith, deep integration makes it the path of least resistance
- You need CI/CD blocking: Braintrust, the only tool that natively blocks deployments on eval failure
- You want self-hosted observability: Langfuse, the best open-source tracing + evaluation combo
- You need production monitoring: Arize Phoenix, strongest embedding analysis and drift detection
- You're evaluating RAG only: Ragas, purpose-built, lightweight, best RAG metrics
For a deeper look at each tool with pricing breakdowns and setup guides, see our Best LLM Evaluation Tools [coming soon].
Bottom line: There's no single "best" framework. DeepEval for custom metrics, Ragas for RAG, Braintrust for CI/CD, Langfuse for self-hosted observability. Pick the one that matches your workflow.
Building Your Evaluation Pipeline: From Ad-Hoc to Automated
Most teams building LLM features are stuck at what we call Level 1 -- checking a few outputs manually and hoping for the best. Here's how to progress.
The Evaluation Maturity Model
| Level | Name | Description | Tools | You're Ready When... |
|---|---|---|---|---|
| 1 | Vibes | Manual spot-checking, "looks good to me" | None / playground | You've built an LLM feature |
| 2 | Golden Datasets | Curated test cases with expected outputs | DeepEval / Ragas locally | You have 50+ test cases |
| 3 | Automated CI/CD | Evals run on every PR, block bad deployments | Braintrust / DeepEval + GitHub Actions | You deploy weekly or more |
| 4 | Production Monitoring | Real-time eval on live traffic, drift detection | Langfuse / Arize Phoenix / Datadog | You serve 1000+ requests/day |
Building a Golden Dataset
Your evaluation is only as good as your test data. Start with 50-100 hand-curated examples that represent real user queries, include edge cases and adversarial inputs, and cover the full range of expected behavior.
Version your datasets. They should evolve as your product evolves, new features mean new test cases. A golden dataset from six months ago probably doesn't reflect what your users are doing today.
Quality of your evaluation results equals quality of your ground truth. Invest the time.
CI/CD Integration
Once you have a golden dataset, wire it into your deployment pipeline. Run evals on every PR that touches prompts, retrieval logic, or model configuration, so every prompt engineering change is measured before it ships, not shipped on a hunch. Set score thresholds, for example, faithfulness >= 0.8 and hallucination_rate < 0.05, and block deployment if they fail.
Here's a minimal GitHub Actions setup as a starting point:
# .github/workflows/llm-eval.yml
name: LLM Evaluation
on:
pull_request:
paths: ['prompts/**', 'src/llm/**']
jobs:
evaluate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install deepeval
- run: deepeval test run tests/eval_suite.py
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}This triggers evaluation whenever someone changes a prompt file or LLM-related code. If any metric drops below threshold, the PR can't merge. That's regression testing for LLM apps.
Production Monitoring
Once you're in production, sample and evaluate live traffic -- 1-5% is typical. Track metric drift over time, because model updates, data changes, and shifting user behavior can all degrade quality without anyone noticing.
Set up alerting when metrics drop below thresholds. Log all evaluations for compliance auditing (you'll thank yourself when the EU AI Act audit comes). As Gergely Orosz notes, evaluation needs to be a continuous process, not a launch checkbox.
Bottom line: Most teams are stuck at Level 1 (vibes). Getting to Level 2 (golden datasets) takes one day and dramatically changes your confidence in shipping LLM features.
EU AI Act and LLM Evaluation: What You Need for Compliance
This is the section no other evaluation guide covers, and with August 2026 enforcement approaching, it's the section that matters most for engineering leads and CTOs.
What the EU AI Act Requires
The EU AI Act (Regulation 2024/1689) classifies AI systems by risk level and imposes requirements accordingly. High-risk systems need systematic evaluation, documentation, and ongoing monitoring. Even "limited risk" systems (where most LLM applications fall) have transparency and documentation obligations.
The key point: even if you're not based in the EU, if your AI system serves EU users, these rules apply to you. The European Commission's risk classification framework helps you determine where your system falls.
Mapping Evaluation Practices to Compliance
Here's how your evaluation metrics connect directly to EU AI Act articles:
| EU AI Act Requirement | What to Evaluate | Metrics | Documentation Needed |
|---|---|---|---|
| Accuracy and robustness (Art. 15) | Output quality under normal and adversarial conditions | Faithfulness, hallucination rate, adversarial test pass rate | Test results, methodology, thresholds |
| Transparency (Art. 13) | Explainability of outputs | Human understandability scores, citation accuracy | Evaluation reports, user-facing explanations |
| Human oversight (Art. 14) | Human review integration | Human eval coverage rate, override frequency | Review logs, escalation records |
| Non-discrimination (Art. 10) | Bias across protected categories | Demographic parity, equalized odds | Bias testing results, mitigation steps |
| Risk management (Art. 9) | Ongoing monitoring | Metric drift, incident rate | Monitoring dashboards, incident logs |
Red Teaming for Compliance
The EU AI Act requires adversarial testing for high-risk systems. Red teaming means systematically trying to break your system:
- Prompt injection, Can users manipulate system prompts?
- Jailbreak attempts, Can users bypass safety guidelines?
- Bias probing, Does the system treat demographic groups differently?
- Data extraction, Can users extract training data or PII?
Document everything: methodology, findings, mitigations. Schedule quarterly red team exercises at minimum.
Practical Steps for August 2026 Readiness
- Classify your AI system's risk level (most LLM apps are "limited risk")
- Establish evaluation metrics and thresholds now
- Implement automated evaluation in CI/CD
- Set up production monitoring with audit logging
- Document your evaluation methodology formally
- Schedule regular red teaming exercises
- Prepare incident response procedures
Bottom line: Even if you're not in the EU, the AI Act is setting the global standard. Building evaluation and documentation practices now saves you from a scramble later.
Common Evaluation Mistakes (and How to Avoid Them)
After helping teams set up LLM evaluation pipelines, these are the mistakes we see over and over:
- Evaluating with your training data, If your test cases overlap with what the model saw during fine-tuning, your scores are meaningless. Always use held-out evaluation sets.
- Using BLEU/ROUGE for open-ended tasks, These metrics measure surface-level text overlap. They can't detect hallucinations, assess helpfulness, or judge creative quality.
- Trusting benchmarks blindly, Benchmark contamination is real. Models trained on MMLU questions score well on MMLU but that doesn't mean they'll perform well on your specific task. Always use application-specific evals.
- Skipping human calibration, LLM-as-judge needs validation against human scores on YOUR data before you trust it. Run at least 50 examples through both human reviewers and the LLM judge, then check correlation.
- One-time evaluation, Evaluation isn't a launch checkbox. Models change, user behavior shifts, and retrieval quality degrades. Make it continuous.
- Same model as judge and generator, Self-preference bias inflates scores. Use a different model family for judging.
- Not versioning your evaluation datasets, Your evals should evolve with your product. Track changes, add new edge cases, retire outdated test cases.
- Ignoring cost, Running LLM-as-judge on every production request gets expensive fast. Sample intelligently -- 1-5% of traffic is plenty for monitoring.
How Techsy Approaches LLM Evaluation
We've built evaluation pipelines for startup teams shipping LLM features across chatbots, RAG systems, and AI agents. Our typical engagement follows a pattern:
- Audit, We review your current LLM outputs, identify failure modes, and map your position on the maturity model
- Metric selection, Based on your application type, we define the 3-5 metrics that actually matter (using the framework from this guide)
- Golden dataset creation, We build your initial evaluation dataset, including the adversarial edge cases most teams miss
- Pipeline setup, CI/CD integration with automated scoring and deployment gates
- Handoff, Your team owns it going forward, with documentation and runbooks
Most teams don't need an external partner for this, if you've got an ML engineer and a week of dedicated time, this guide gives you everything you need. But if you're short on time, facing a compliance deadline, or want an experienced second opinion on your evaluation strategy, we're happy to help.
Need help building an evaluation pipeline for your LLM application? Get a free consultation
FAQ
How do you evaluate LLM performance?
Start by defining your success criteria, accuracy, safety, relevancy, or whatever matters for your use case. Select 3-5 metrics that match your application type (see the metric-to-application table above), build a golden dataset with at least 50 test cases, and run automated evals using frameworks like DeepEval or Ragas. Validate your automated scores against human judgment on a sample before trusting them.
What metrics are used to evaluate LLMs?
Core metrics include faithfulness, answer relevancy, and hallucination rate for RAG systems; BLEU and ROUGE for translation and summarization; toxicity and bias for safety; and task completion rate for agents. The right metrics depend on your application type, a chatbot needs different evaluation than a code generator.
What is LLM-as-a-judge?
A method where a separate LLM (typically GPT-4o or Claude) evaluates the output of another LLM against criteria you define. G-Eval is the most popular implementation, using chain-of-thought scoring. Research shows approximately 81% correlation with human ratings, making it the practical default for day-to-day evaluation in 2026.
How do you detect hallucinations in LLMs?
Use faithfulness metrics that compare generated text against source documents. Both DeepEval and Ragas offer built-in hallucination detection that checks whether every claim in the output is grounded in the provided context. For production systems, combine automated detection with human spot-checks on flagged outputs.
What is the best LLM evaluation framework?
There's no single best. DeepEval for custom metrics and comprehensive evaluation, Ragas for RAG-specific evaluation, Braintrust for CI/CD integration and deployment blocking, LangSmith for teams already using LangChain, and Langfuse for self-hosted observability. Pick the one that matches your workflow.
How do you evaluate a RAG system?
Measure four metrics: faithfulness (is the answer grounded in context?), context relevancy (right docs retrieved?), context recall (all relevant docs found?), and answer relevancy (addresses the query?). Ragas and DeepEval are the standard tools. Critically, evaluate both the retriever and the generator, most teams only test the generator and miss retrieval failures.
What is G-Eval?
G-Eval is an LLM-as-judge framework that uses chain-of-thought prompting to evaluate outputs against custom criteria. You describe what "good" looks like in plain English, and the judge LLM reasons through each output and assigns a score. The original paper by Liu et al. showed strong alignment with human evaluation across multiple NLG tasks.
How does the EU AI Act affect LLM evaluation?
The EU AI Act requires systematic evaluation, documentation, and monitoring for AI systems serving EU users. High-risk systems must demonstrate accuracy, robustness, transparency, and non-discrimination through formal evaluation practices. Even limited-risk systems have transparency obligations. Enforcement begins August 2026, and the requirements apply to any company serving EU users, regardless of where you're based.
How do you evaluate AI agents?
Track task completion rate, tool use correctness, context retention across steps, and cost per successful task. Agent evaluation requires statistical approaches, run the same task multiple times and report completion rates, not single pass/fail results. The tooling is still early, but DeepEval and AWS both offer emerging agent evaluation frameworks.
What is benchmark contamination?
When LLM training data includes benchmark test questions, artificially inflating scores without reflecting genuine capability. This is why public benchmarks like MMLU shouldn't be your only evaluation method. Models can score impressively on contaminated benchmarks while performing poorly on real-world tasks. Always supplement benchmarks with application-specific evaluation on your own data.
How much does LLM evaluation cost?
Open-source tools like DeepEval and Ragas are free. LLM-as-a-judge costs roughly $0.01-0.05 per evaluation depending on the judge model. Commercial platforms like Braintrust and LangSmith have free tiers for small teams and paid plans for production use. Human evaluation runs $5-50 per evaluation. Most teams can get a solid evaluation pipeline running for under $100/month.
Sources
- DeepEval Documentation, Metrics
- Ragas Documentation, Metrics
- Braintrust Documentation, Evals
- LangSmith Documentation, Evaluation
- Langfuse Documentation, Scores and Evaluation
- Arize Phoenix Documentation
- EU AI Act, Full Text (Regulation 2024/1689)
- EU AI Act, Risk Classification (European Commission)
- Judging LLM-as-a-Judge, Zheng et al., 2023
- G-Eval: NLG Evaluation using GPT-4 -- Liu et al., 2023
- How to Build an LLM Evaluation Framework, The Pragmatic Engineer