RAG evaluation measures whether an AI system retrieves the right information and uses it to generate accurate, relevant answers. It examines two separate processes: retrieval quality and response generation.
A system can retrieve the correct documents and still produce an inaccurate answer. It can also generate a convincing response from incomplete or outdated information. Looking only at the final answer won't reveal where the problem started.
When evaluating a RAG application, I would measure retrieval and generation separately, compare the results against a reliable test dataset, and use those findings to identify what needs improvement.
RAG Evaluation Metrics
The first step is choosing metrics that reveal what is happening inside the system.
I would start with retrieval metrics to determine whether the required evidence reaches the model. Then I would evaluate the generated response for factual support, accuracy, and completeness.
Each metric answers a different question, and no single score represents the entire system's quality.

The distinction between these metrics matters.
A high faithfulness score means the response is supported by the retrieved information. It doesn't prove that the information itself is correct.
Similarly, a relevant answer can address the user's question while containing an unsupported claim.
I would never combine these measurements into one average and treat that number as proof of reliability.
Retrieval Quality Metrics
Retrieval evaluation focuses on the evidence selected before the language model generates its answer.
Recall@k measures how many known relevant documents appear within the first k retrieved results. It requires a reference set identifying which documents are relevant to each test query.
Context Precision examines the ranking of retrieved passages. Relevant evidence should appear ahead of unrelated material.
Context Recall, as implemented in evaluation frameworks such as Ragas, assesses whether the retrieved context supports the information contained in a reference answer.
These measurements are related, but they are not interchangeable. Their precise calculations also depend on the evaluation framework.
For a customer-support assistant, I would start by checking whether the correct policy appears in the retrieved results. If it does not, changing the language model's instructions won't solve the underlying retrieval problem.
Generation Quality Metrics
Generation evaluation begins after the relevant documents have been retrieved.
Faithfulness measures whether factual claims in the generated response can be supported by the retrieved information.
Answer Relevancy examines whether the response addresses the original question rather than introducing unrelated information.
Answer Correctness compares the response with verified information or an expected answer.
Completeness checks whether the response covers the required details.
These criteria should remain separate.
An answer can be relevant and faithful while omitting a critical condition. It can also be faithful to an outdated document and therefore incorrect when compared with the current policy.
That is why I would evaluate the generated response against both retrieved evidence and an authoritative reference wherever one is available.
Building a RAG Evaluation Dataset
A useful evaluation starts with representative questions, not with the choice of an evaluation tool.
Before testing a product, I would create a dataset containing questions that reflect what actual users need from the application.
For a SaaS support assistant, that means including subscription questions, account permissions, billing policies, and product instructions.
Each evaluation record should contain the following information:
User question: The request submitted to the system.
Reference answer: A verified answer containing the required facts.
Relevant sources: Documents or passages that support the expected answer.
Test category: The type of question or behavior being evaluated.
Source version: The policy or document version used to establish the expected result.
The dataset should contain more than straightforward questions with exact wording matches.
I would include requests using synonyms, questions requiring information from multiple documents, and requests containing precise numbers or product identifiers.
Questions that cannot be answered from the available evidence deserve equal attention.
For example, if the documentation doesn't specify whether a subscription feature is available in a particular region, the system should not invent an answer.
That behavior needs to be tested deliberately.
Reference Answers and Source Quality
A reference answer must come from an authoritative source.
If two documents contain conflicting subscription policies, the evaluation team needs to establish which document is valid before scoring the AI response.
Otherwise, the system can be penalized for following the correct information or rewarded for repeating outdated content.
I would preserve document versions and review reference answers whenever the underlying product policies change.
A carefully maintained evaluation dataset becomes the foundation for comparing future versions of the application.
Running a RAG Evaluation
Once the dataset is ready, the process should be repeatable.
I would begin with a baseline evaluation, record the results, and then test individual changes against the same questions.
Step 1: Record the Current System
The baseline should identify the embedding model, retrieval configuration, document index, generation model, and instructions used by the application.
These details matter because a change in any one of them can affect the final answer.
I would also record the exact retrieved passages and generated responses for each test question.
Without those records, comparing different runs becomes more difficult.
Step 2: Evaluate Retrieval Independently
Run the test questions through the retrieval system and inspect the returned passages.
Check whether the relevant sources appear, whether important information is missing, and whether unrelated documents dominate the top results.
This isolates retrieval performance from the behavior of the language model.
If retrieval quality is poor, the next investigation should focus on the search configuration, source documents, or indexing process.
Step 3: Evaluate Generated Answers
Next, run the full RAG workflow using the same test questions.
Compare each generated response with the retrieved passages and verified reference answer.
A response should address the question, avoid unsupported claims, and include the required information.
For applications that display citations, I would also check whether each important claim points to the source passage that actually supports it.
Step 4: Compare Results and Retest
After identifying a problem, change the relevant component and repeat the evaluation.
For example, changing the chunking strategy should be tested primarily against retrieval quality before examining its downstream effect on answers.
I would avoid changing the embedding model, retrieval settings, and generation instructions simultaneously.
Making one controlled change at a time provides clearer evidence about which modification helped.
RAG Evaluation Example in a SaaS Application
Consider a fictional SaaS company called DeskFlow.
Its customer-support assistant retrieves subscription policies and answers customer questions using those documents.
A customer asks:
"Can I get a full refund if I cancel my subscription after 10 days?"
For this example, DeskFlow's official policy states that customers can request a refund within 14 days, but a $10 processing fee is deducted.
An accurate answer must explain both conditions.
Now suppose the AI responds:
"Yes. You can receive a full refund if you cancel within 14 days."
The response addresses the question, but it incorrectly promises a full refund.
To understand the failure, I would examine the retrieved evidence before changing the model.
Scenario 1: The Correct Policy Was Retrieved
Suppose the retrieved passage clearly states that a $10 processing fee applies.
The language model had the necessary information but failed to include it correctly.
The issue is in response generation.
Faithfulness and correctness evaluations should examine the unsupported promise of a full refund.
I would review the generation instructions and test whether the model consistently preserves mandatory policy conditions.
Scenario 2: The Processing Fee Was Missing from Retrieval
Now suppose the retrieved passage mentions the 14-day refund window but doesn't include the fee.
The language model received incomplete information.
In this case, I would investigate Context Recall and inspect how the policy was divided into searchable passages.
If the fee appears in a separate section that retrieval repeatedly misses, the indexing or retrieval configuration needs attention.
Changing the response wording alone would not restore the missing evidence.
Scenario 3: The Retrieved Policy Was Outdated
Consider a third situation.
The retrieved document says customers receive full refunds within 14 days, but DeskFlow has since introduced the processing fee.
The generated answer might be faithful to the retrieved document while still contradicting the current policy.
This is a source-quality problem.
I would check the document version, indexing update process, and source-of-truth rules.
The distinction is important because the same incorrect customer-facing answer can originate from three different failures.
An effective evaluation process identifies which one occurred.
Interpreting RAG Evaluation Results
Individual scores become useful when they are considered together.
For example, high retrieval recall combined with low context precision means the system finds relevant evidence but also returns unnecessary or poorly ranked passages.
The first adjustment should focus on ranking and filtering rather than expanding the document collection.
If retrieval quality is strong but faithfulness is weak, I would inspect how the model uses the retrieved information.
If faithfulness is strong but correctness is poor, I would examine the accuracy and freshness of the underlying sources.
Another important pattern is a correct but incomplete answer.
The retrieved documents may contain every required detail, and the response may make no unsupported claims, yet the model may omit an essential condition.
That requires a completeness check against the expected answer.
These distinctions are central to evaluating Retrieval Augmented Generation because retrieval and generation introduce different failure points.
Score Interpretation and Acceptance Criteria
A score of 0.90 does not establish a universal level of acceptable quality.
The meaning depends on the metric, evaluation method, test dataset, and risk associated with the application.
A documentation assistant used by an internal engineering team has different requirements from a customer-facing assistant handling billing policies.
I would define acceptance criteria before running release evaluations.
For a billing assistant, those criteria should include strict checks on financial amounts, eligibility conditions, and source correctness.
For an internal knowledge-search application, retrieval coverage and the ability to identify relevant documents may receive greater emphasis.
The objective is to measure the behaviors that matter to the product, not simply to maximize a dashboard score.
RAG Evaluation Tools
Several established tools support the evaluation process.
I would select one based on the application's existing infrastructure, the metrics required, and whether the team needs offline testing, production monitoring, or both.
Ragas
Ragas provides metrics for evaluating retrieval and response quality, including Context Precision, Context Recall, Faithfulness, and Response Relevancy.
It is useful for creating repeatable evaluations with defined inputs, retrieved contexts, generated responses, and reference information.
For a team comparing retrieval configurations, Ragas is a practical framework to evaluate.
DeepEval
DeepEval provides metrics for retrieval relevance, contextual precision and recall, answer relevancy, and faithfulness.
It supports automated test workflows and allows developers to evaluate individual components of an LLM application.
I would consider it when the team wants evaluation checks integrated into its testing process.
LangSmith
LangSmith supports evaluation datasets, tracing, offline experiments, and online evaluations.
Its tracing capabilities help connect individual application executions with the model calls and intermediate results that produced them.
For an application already using LangChain or LangGraph, it offers a way to bring evaluation and execution analysis into the same workflow.
Arize Phoenix
Phoenix provides tracing and evaluation capabilities for LLM applications, including retrieval-focused evaluation.
It helps teams inspect the relationship between retrieved documents and generated answers.
I would evaluate Phoenix when visibility into application execution and retrieval behavior is a priority.
The selection should follow the evaluation workflow. None of these products automatically guarantees that the underlying test questions or reference answers are reliable.
Human Review and LLM-as-a-Judge
Automated evaluation makes it possible to assess more responses without manually reviewing every output.
One approach is LLM-as-a-Judge, where a language model evaluates generated responses against defined criteria.
For example, a judge can examine whether an answer is supported by the retrieved context or whether it covers the required details.
This is useful for semantic judgments that cannot be reduced to exact string matching.
However, the judge is itself a model. Its scores can be affected by the evaluation instructions, model behavior, and interpretation of ambiguous evidence.
I would validate automated evaluation against a set of human-reviewed examples before relying on it for product decisions.
Combining Automated and Human Evaluation
Human reviewers should examine cases where factual interpretation or business consequences matter.
For DeskFlow, that includes disputed billing responses, conflicting subscription policies, and answers involving customer permissions.
Automated checks can handle repeatable measurements, while human reviewers assess ambiguous or high-impact cases.
I would also use deterministic checks for requirements that have exact answers, such as required JSON fields, valid identifiers, or prohibited unsupported actions.
Combining these methods creates a stronger evaluation process than depending entirely on one model-generated score.
RAG Evaluation for Production
An application that performs well on a small test dataset is not automatically ready for customer use.
Production introduces changing documents, new questions, concurrent requests, and operational requirements.
I would evaluate these conditions before release.
Quality Regression Testing
Every material change to the retrieval or generation pipeline should be compared against an established baseline.
This includes changes to the embedding model, indexing strategy, retrieval parameters, prompt instructions, or generation model.
The same reference dataset should be used to identify whether previously successful questions now fail.
New customer questions and verified failures should also be added to the dataset as the product evolves.
This helps prevent improvements to one category of questions from hiding regressions elsewhere.
Latency and Cost Evaluation
Answer quality is only one part of production performance.
The application must also respond within an acceptable time and operating budget.
I would track end-to-end latency, retrieval latency, model usage, and cost per successfully completed request.
These measurements should be collected under realistic traffic conditions.
A more complex retrieval configuration is not an improvement if its additional cost and latency outweigh the benefit to answer quality.
Production Monitoring and Release Decisions
After release, the team needs visibility into new failures that were not represented in the original evaluation dataset.
Monitoring should capture relevant execution information while respecting customer privacy and data-access requirements.
I would track unsupported-answer incidents, missing citations, retrieval failures, and customer reports of incorrect information.
For high-impact questions, the application should have a defined response when it lacks sufficient evidence.
A release decision should reflect whether the system meets its approved quality, operational, and security requirements.
Passing one evaluation run is not a substitute for ongoing monitoring.
Final Thoughts
RAG evaluation is useful when it explains not only whether an AI application produces good answers, but also why individual answers succeed or fail.
I would begin with a reliable evaluation dataset, measure retrieval and generation separately, and examine the relationship between their results before changing the system.
For a startup, the most valuable outcome is not a high evaluation score in isolation. It is a repeatable process for identifying weak retrieval, unsupported claims, incomplete responses, and outdated information before those problems affect customers.
A well-designed evaluation process gives the development team evidence for making better technical decisions and maintaining answer quality as the product grows.
FAQ
How many questions do I really need for my first RAG evaluation?
There is no universal minimum dataset size that establishes RAG quality. An initial evaluation can begin with a small, carefully reviewed collection covering the application's most important question categories. The dataset should expand as new behaviors, document types, and failure cases are identified. Statistical confidence and coverage requirements depend on the intended use.
Can I evaluate my RAG system if I don't have reference answers yet?
Yes. Reference-free evaluators can assess properties such as answer relevance and faithfulness to retrieved context. However, they cannot independently establish complete factual correctness against an authoritative answer. For that purpose, verified reference answers or external validation are necessary.
What if my chatbot needs to remember earlier messages?
Multi-turn RAG applications require evaluations that preserve conversation history and assess behavior across multiple turns. Tests should examine whether follow-up questions are interpreted correctly, whether previous context remains relevant, and whether the assistant avoids carrying incorrect assumptions forward. Single-turn evaluation alone does not cover these requirements.
Can I evaluate private company documents without sending them to an external AI service?
Yes. Evaluation can be performed within controlled infrastructure using locally deployed models, deterministic checks, or authorized human reviewers. The deployment must still enforce document permissions, secure evaluation records, and manage access to sensitive data. Tool selection should follow the organization's data-handling requirements.
Why do my LLM judge scores change when I run the same evaluation again?
Model-based judges can produce different assessments across repeated runs because of generation variability, provider updates, evaluation configuration, and ambiguity in the scoring instructions. Stable comparison requires recording judge versions and settings, using consistent rubrics, and checking score agreement on representative examples. Human-reviewed calibration data can help identify unreliable judgments.
Seen first.



