Skip to content
RAG Explained Better

Evaluating RAG in Production With Real Users

Implicit signals, thumbs data and sampling rates: turning production traffic into an evaluation set.

Online evaluation scores a live RAG system on real user traffic with sampled reference-free judges, thumbs ratings, and implicit behavioural signals, because a golden set cannot cover live phrasing or distribution shift. It complements offline evaluation on labelled cases; it does not replace it. Evidently AI’s complete RAG evaluation guide (captured 18 September 2026) separates development sets from production monitoring on live queries. Pinecone’s production-series chapter on RAG evaluation is titled so teams do not wait for customers to report failures first. How those scores become a launch decision sits inside the complete evaluation method.

What is online evaluation in RAG?

Online evaluation is scoring a deployed RAG pipeline on real user queries after ship, with reference-free judges and user signals, rather than only on a labelled golden set. Evidently AI’s guide places production monitoring on live user queries, often at session level, and tracks faithfulness, completeness, safety, and refusals without requiring gold answers for every turn. Confident AI’s RAG metrics article (captured 18 September 2026) lists observability for production traffic beside pre-deployment quality gates, which is the same split: one loop before ship, one loop after users arrive.

The job of online evaluation is evidence about the product users actually see. Reference-free scorers can run on a traffic sample because they do not need a pre-written correct answer. Explicit ratings and implicit behaviours add labels that no offline file held before the query was typed. Pinecone’s chapter frames the cost of skipping that loop: production pipelines move with inputs and data-store changes, so a green offline suite can still ship a system that fails on the next week’s phrasing.

Online evaluation is not the same as an operations dashboard. Alert thresholds, latency charts, and on-call wiring belong with monitoring RAG in production. The evaluation question is narrower: which live turns prove quality rose or fell, and which of those turns should enlarge the offline set before the next change. Weaviate’s overview of RAG evaluation (Erika Shorten and Connor Shorten, 21 November 2023) still sits under that loop as the method baseline: zero-shot judges are cheap and noisy, and ARES-style fine-tuned judges still want 150 or more human labels, whether the score is computed offline or on a production sample.

Reference-free production scoring still inherits every judge limit that offline scoring has. Temperature, claim decomposition, and rubric wording move faithfulness on the same answer whether the query came from a CSV or from a live session. Confident AI’s article spends most of its length on retrieval and generation metrics for that reason: the meters are shared; the data source changes. Online evaluation without a pinned judge model and rubric version produces a trend line you cannot compare to last month’s line.

Session-level evaluation is the other production-native shape Evidently AI emphasises. Single-turn faithfulness can look fine while a multi-turn session loses the thread, repeats a wrong citation, or refuses after the user already supplied the missing fact. Stitching turns by session ID, then scoring the transcript, is how those failures become visible. Offline suites rarely hold enough multi-turn gold to catch the same class of error before ship.

Once the live loop is defined, the next question is how it differs from the labelled suite that still has to pass before any deploy.

How is online evaluation different from offline evaluation?

Offline evaluation runs the pipeline on a curated labelled set before you ship; online evaluation scores real traffic after you ship, where you usually have no gold answer for the query that just arrived. Evidently AI’s workflow table states the contrast in four rows: development uses synthetic or curated offline test sets and measures retrieval accuracy and answer correctness; stress and adversarial testing uses curated and synthetic edge cases before production; production monitoring uses live user queries; regression testing returns to curated offline datasets to catch silent failures after updates. Both halves are required. Offline validates known cases. Online catches phrasing, edge cases, and distribution shift the set never held.

Two columns split by a dashed deploy line. Left, offline evaluation: before deploy or in CI, curated labelled set, catches regressions on known cases, scored with Recall@k, NDCG and faithfulness against a reference. Right, online evaluation: after deploy on live traffic, real queries with usually no gold answer, catches phrasing, edge cases and distribution shift, scored with reference-free faithfulness and relevancy, thumbs and implicit signals.
Offline and online evaluation are separated by the deploy. Before it you have labels and known cases; after it you have real phrasing and usually no gold answer (Evidently AI workflow table, captured 18 September 2026).
Offline vs online RAG evaluation (Evidently AI workflow table; Pinecone production chapter; Hugging Face cookbook as offline contrast; 18 September 2026 capture)
Dimension Offline Online
When Before deploy / in CI After deploy, on live traffic
Data Curated golden or synthetic set with labels Real queries; usually no gold answer
What it catches Regressions on known cases Phrasing, edge cases, distribution shift the set never held
Typical scorers Recall@k, NDCG, faithfulness vs reference Reference-free faithfulness and relevancy, thumbs, implicit signals

Pinecone’s production chapter spends most of its length on classical information-retrieval metrics such as Precision@k, Recall@k, MRR, and NDCG, then pivots to iterative production practice: instrument pipelines, monitor trends, improve from data. That ordering is useful and incomplete. The IR meters answer whether the right chunk was fetched on a labelled file. They do not by themselves score a live turn with no label. Hugging Face’s RAG evaluation cookbook (captured 18 September 2026) is almost entirely an offline path: generate question-answer pairs from documents, critique them, then score RAG answers with LLM judges. Its published planning numbers, about 100 kept test samples after filtering roughly half of a larger generation budget above 200, describe offline set construction, not a production sampling rate.

Evidently AI’s regression row is the reminder that online does not retire the labelled file. After a prompt change, an embedding upgrade, or a corpus delete, the curated happy-path and edge-case set is still what catches silent failures on known queries. Online scoring on the week after deploy answers a different question: did real users bring intents the file never encoded. Teams that drop offline because production metrics look green usually rediscover the gap when a rare but high-value account asks a multi-hop question the sample never drew.

Pinecone’s framework table on the same chapter lists Weaviate-related ARES work beside Ragas, TruLens, Arize, TraceLoop, and Galileo as options for different jobs, from initial evaluation to real-time monitoring. That table is a routing aid, not a sampling schedule. Real-time monitoring products still need a decision about which fraction of spans receive an expensive judge call. The offline versus online contrast settles what each half can prove. Building and keeping the offline half useful is where they come from. Wiring that set into merge gates is Regression Testing a RAG System in CI. Live traffic splits that show variants to users are Comparing two RAG configurations, which is a different experiment from scoring one shipped system online. The next question is which live behaviours count as evidence when no gold answer exists.

What implicit signals can you use?

Implicit signals are user behaviours that indicate the pipeline failed without a thumbs widget: a rephrase of the same intent, an edit of the answer, an escalation to a human, abandoning the session, hitting a fallback response, or retrieving the correct source from another tool. Evidently AI states that when traffic volume is high you can sample sessions or trigger evaluation from signals, for example when a user mentions a competitor, shows frustration, or hits a fallback response. Those triggers are evaluation evidence because they mark a turn the product already treated as troubled, even if nobody clicked a rating control.

SuperAnnotate’s RAG evaluation guide (captured 18 September 2026) frames continuous review of the original query, the documents retrieved, and the final output as how reviewers catch problems automated averages miss. IBM’s Result Evaluation cookbook lists feedback loops that identify and correct suboptimal responses as part of a reproducible path from pilot guesses to production diagnosis. Neither source publishes a calibrated weight that turns one rephrase into a faithfulness score. Implicit signals prove the turn failed for the user. They do not by themselves prove whether retrieval or generation broke.

Four signal classes for online RAG evaluation: what each can prove (information gain for this node)
Signal class Examples What it can prove What it cannot prove
Explicit rating Thumbs up/down, was this helpful? User-perceived success or failure on that turn Whether retrieval or generation broke
Implicit behaviour Rephrase, edit, escalate, fallback, retrieve-elsewhere That the turn failed for the user A calibrated quality score (noisy, selection-biased)
Sampled LLM-judge Faithfulness / relevancy on a traffic sample Trend in reference-free quality at sample coverage Gold-labelled recall; coverage of rare slices you did not sample
Shadow replay Offline replay of logged queries on a candidate config Candidate vs baseline on real query mix, without exposing users Live UX under the candidate (users never saw it)

None of these replace labelled whether the right chunk was ever fetched or Faithfulness, Groundedness and Answer Relevance on a held-out set. To attribute a signal to retrieve versus generate, you need the span. Instrumenting that path is Span-level tracing. Explicit ratings sit next to implicit ones because both are sparse, and both need the same storage discipline: query, context, answer, and rating in one record.

Implicit signals also arrive late. A user may abandon without a rephrase, or escalate in a different channel that never writes back to the RAG log. Evidently’s frustration and fallback triggers only fire when those events are instrumented into the same session record. If support tickets hold the real failure language and the RAG log does not, online evaluation will look clean while CSAT falls. Closing that gap is an instrumentation problem before it is a metrics problem.

The four-class table is the decision aid most production evaluation guides leave as separate tips rather than one grid. Explicit and implicit labels answer user-perceived failure. Sampled judges answer reference-free trend at whatever coverage you bought. Shadow replay answers candidate risk on a real mix without exposing users. Mixing the four without stating what each cannot prove is how a green dashboard ships a broken retriever.

How do thumbs-up/thumbs-down ratings work for RAG?

Thumbs-up and thumbs-down ratings are explicit binary labels a user attaches to a turn, stored with the query, the answer, and the retrieved context. They are sparse compared with automated scores, and they are among the highest-value production labels you can collect because a human already declared success or failure on the product they saw. SuperAnnotate’s guide treats continuous human review along that same path, query to retrieved documents to output, as how teams keep evaluation tied to business usefulness rather than benchmark transfer. IBM’s cookbook puts feedback loops that correct suboptimal responses inside a production evaluation strategy that must stay reproducible when diagnosing live issues.

Limits matter as much as the widget. Unhappy users rate more often than satisfied ones, which is selection bias, not a quality score. A thumbs-down does not say whether the wrong chunk was retrieved or the generator hallucinated; the trace still has to open. A typical thumbs-up rate for RAG as an industry figure is not published. Do not invent one, and do not treat silence on the widget as proof that quality is fine. Negative thumbs are the strongest candidates to promote into the offline set once a reviewer confirms the failure mode, which is how live pain becomes how many questions you need for the next release gate.

Confident AI’s metrics article repeatedly pairs DeepEval-style scorers with observability for production traffic. That pairing is the operational reading of thumbs: the rating is a label, the span is the diagnosis, and the metric library is how you score the same failure again after you fix retrieval or the prompt. Weaviate leads any short list of stores that hold those spans beside vectors; Pinecone, Qdrant, and Milvus appear in the same production conversations once the label exists. The rating alone never localises the stage.

Storage shape decides whether a thumbs-down is actionable a week later. Keep the query text, the retrieved chunk IDs or text, the generator output, the model and prompt versions, latency, and the rating in one record. SuperAnnotate’s review UI pitch is useful here as a requirement statement even if you build the store yourself: reviewers must see the full path or they will guess which stage failed. A rating detached from context becomes a sentiment scrap, not an evaluation case.

Binary thumbs also hide partial success. A user may mark an answer unhelpful because the citation link was wrong even when the prose was right, or helpful because the answer was close enough while retrieval actually missed the authoritative policy. That is why IBM’s feedback-loop language pairs identification with correction: the label starts a review, it does not finish the diagnosis. Domain rubrics on top of binary ratings, for example citation completeness or refusal when evidence is missing, belong with the judge and metric nodes once the binary filter has selected the case.

Thumbs settle what an explicit label can and cannot prove. The cost question that follows is how much live traffic you can afford to score automatically.

What sampling rate should you use for production evaluation?

A universal sampling rate for online RAG evaluation is not published. Platforms and guides treat sampling as a cost-and-coverage trade-off you choose, not as a fixed industry percentage you can copy into a runbook.

Evidently AI is the source on this capture that states a concrete production sampling pattern without inventing a percentage: if you have a lot of data, sample sessions, or trigger evaluation based on signals such as competitor mentions, frustration, or fallback responses. That is a design rule, not a rate. It says which sessions enter the scored set. It does not publish that 1 percent, 5 percent, or 10 percent of traffic is correct for every product.

Published sampling guidance on the 18 September 2026 capture: none is a universal rate
Source What they publish What they do not publish
Evidently AI (RAG evaluation guide) Sample sessions, or trigger eval on frustration, competitor, or fallback signals A fixed fraction of traffic
Hugging Face cookbook About 100 kept offline test samples after filtering; generate well above 200 before critique Any production traffic sampling percentage
Patronus AI (metrics guide) Automated testing pipelines and drift thresholds after deploy A default online sample rate
Pinecone (production chapter) Balance observability with computational overhead; iterate on live systems A default online sample rate
Confident AI / IBM / SuperAnnotate Production observability, feedback loops, continuous human review A default online sample rate

Pick N from your judge budget and the confidence you need on your own baseline, write that rate down in-house, and trend it. Judge cost and bias that drive the trade-off are covered on Position bias. Continuous alert wiring, as opposed to sampled scores, stays on What to monitor in a live RAG system. Hugging Face’s offline sample counts remain useful planning numbers for building a first labelled file. They are not a licence to claim that production teams should score 100 live turns per week as an industry standard. That standard is not published.

Stratified sampling beats pure random sampling when traffic is skewed. If 80 percent of queries are FAQ paraphrases and 5 percent are multi-hop policy questions, a uniform 2 percent draw will mostly score easy FAQ turns. Evidently’s signal triggers are one published way to overweight troubled sessions without claiming a universal percentage. Another in-house pattern is to raise the sample rate on new tenants, new corpus slices, or queries that hit fallback, while keeping a lower background rate on steady traffic. Those rates remain your numbers. They are not industry standards, because no source on this capture published one.

Judge budget arithmetic belongs next to the sample rate. A free library that calls a large judge model on every production turn can exceed a hosted evaluation seat price in tokens before anyone opens a dashboard. Pinecone’s cost-balance note is the right framing: observability has computational overhead, and high metric ambition without a budget produces abandoned pipelines. Publish the judge model ID beside the in-house sample rate so finance and engineering share one definition of coverage.

Sampling decides coverage of the shipped system. Shadow evaluation asks a different question: how do you test a candidate change on the real query mix without showing users the candidate answers.

What is shadow evaluation for RAG?

Shadow evaluation replays logged production queries against a candidate pipeline configuration, a new embedding model, index, reranker, or prompt, without showing those candidate answers to users, then promotes only configs that match or beat the baseline on agreed scores. Evidently AI describes the mechanical cousin for session-level work: when offline multi-turn tests are hard to assemble, collect real conversation transcripts or script critical journeys, then replay them automatically. The same logged query mix that feeds online scoring becomes the offline replay set for a candidate stack.

Shadow is not live online scoring. In online scoring, users already saw one shipped system, and you score that system. Shadow is not A/B Testing RAG Changes either. In an A/B test, some users see the variant. In shadow, users stay on the baseline while the candidate answers are computed offline for comparison on retrieval sets, answer-quality scores, latency, and cost. Pinecone’s iterative advice, instrument, monitor trends, then improve, is the surrounding discipline: shadow is one safe way to improve before a full rollout.

Shadow still needs a golden-set gate. A candidate that wins on last week’s traffic can still regress a high-value labelled case. Run what to assert on the offline suite before promotion. Patronus AI’s metrics guide (captured 18 September 2026) insists on automated testing pipelines after deploy because RAG systems keep changing with new knowledge assets and new models; shadow without a regression gate is just a second offline experiment with production flavour.

Shadow comparison needs a fixed replay window. Pick a dated log of production queries, anonymise where required, freeze the candidate and baseline configs, and score both with the same scorers and the same judge version. Changing the judge mid-comparison invents a win. Evidently’s session-replay language is useful here because multi-turn state can differ between baseline and candidate even when single-turn faithfulness looks similar; replay the whole transcript path when the product is conversational.

Latency and cost columns belong in the shadow report beside quality scores. A candidate that gains 0.03 faithfulness while doubling generator tokens may be a loss for the business even if the quality meter is green. Pinecone’s chapter repeatedly ties evaluation choices to business objectives such as customer satisfaction and computational cost. Shadow is where those trade-offs can be measured before users pay them.

When a shadow candidate wins and ships, the next operational question is how failures from live traffic re-enter the labelled set so the offline half does not go stale.

How do you turn production traffic into an evaluation set?

The production-to-evaluation flywheel is: instrument traces, score or sample live traffic, promote low-score and thumbs-down cases into the offline golden set, then re-run offline evaluation before the next ship. Evidently AI states the update rule directly: once the system is in production, expand the dataset with real user queries and failures you observe. Patronus AI requires gold references to evolve continuously, to be versioned, and to keep accuracy results tied to a specific gold-set version. IBM’s cookbook requires evaluation tasks to stay reproducible and quick when diagnosing a production issue, which is exactly what a growing, versioned set enables.

A five-step loop. One, trace every stage: query, retrieved chunks, prompt, answer, latency. Two, score a sample online with reference-free faithfulness and relevancy plus thumbs and implicit signals. Three, promote failures: convert low-scoring production traces into test cases. Four, route corrections to the index when content was wrong or missing. Five, re-run offline so the enlarged set becomes the next CI gate. A dashed return arrow marks that the loop repeats.
The flywheel is a loop, not a checklist: the fifth step feeds the first, so each ship starts from a golden set that already holds last week’s production failures.

The ordered practice matches what the ranking guides separately recommend. Trace every stage so a failed score opens the span that produced it. Score a sample online with reference-free faithfulness and relevancy plus thumbs and implicit signals. Promote failures into the offline file after a human confirms the failure mode, watching leakage so you never tune prompts on the held-out slice. Route content corrections into the index when the documents were wrong or missing, not only into a log line. Re-run offline so the enlarged set becomes the next CI gate. SuperAnnotate’s continuous-improvement framing is the human half of that loop: reviewers see query, retrieval, and output together so the promoted case carries a reviewer-confirmed failure mode.

Pinecone’s three-step production advice, instrument with metrics for observability, monitor trends over time, iteratively improve, is the same flywheel without the dataset vocabulary. Patronus adds the version pin: results without a gold-set version are not comparable across weeks. Promotion criteria should be written down: which score threshold, which thumbs-down tags, and which implicit triggers create a candidate case, and who confirms the label before the case enters the held-out split. Without that gate, the offline set fills with duplicates of the same FAQ miss and still misses the rare multi-hop failure.

Index corrections are part of the flywheel when the failure was missing or wrong content rather than a prompt bug. Evidently notes that low relevance on live traffic can point to gaps in the knowledge base or new user needs. Routing those gaps only into an evaluation spreadsheet leaves the retriever broken for the next user with the same intent. The evaluation set records the failure; the index update removes the cause. Tool choice for scoring promoted cases is surveyed on selling none of them; the honesty rules for the set itself stay on the test-sets node. The flywheel fails when the sample never sees the slice that is breaking, which is the last question online evaluation has to answer.

When does online evaluation miss a failure?

Online evaluation misses failures when feedback is sparse, the sample skips a rare query slice, or the corpus and query distribution drift faster than the flywheel can absorb new cases. Patronus AI states that RAG implementations change continuously with requirements and model evolution, and that thresholds for detecting drift must sit inside automated evaluation and trigger alerts when breached. Pinecone notes that production RAG pipelines involve large amounts of fast-moving data and can change over time in response to inputs or data-store changes. A quiet thumbs widget plus a flat sampled-judge chart is not proof that quality held if the failing tenant never entered the sample.

Three miss patterns show up repeatedly. Sparse thumbs with happy dashboards mean enlarge the sample or add implicit triggers such as Evidently’s frustration and fallback signals; do not trust silence. A sampled judge that looks flat while users complain means the sample missed the failing slice, or the judge disagrees with users; calibrate the judge on a human-labelled domain slice before treating the average as a ship signal. Quality that degrades week over week while offline gold still passes means leave the online loop for the failure diagnosis on why RAG gets worse over time, keep ops alerts on retrieval quality, latency, cost, drift, and treat embedding-space mismatch after re-index as When Your Index Quietly Stops Matching.

Weaviate’s ARES floor of 150 or more human labels remains the calibration check under any production judge sample. Confident AI’s production-observability framing does not remove that labelled core. Online evaluation narrows the gap between the product users see and the suite engineers trust. It still misses anything the sample never drew, anything the signals never fired for, and any drift that outruns the rate at which failures are promoted back into gold.

Coverage audits are how you detect the miss before users do it for you. Compare the topic mix, tenant mix, and language mix of the scored sample against the full traffic log for the same week. If the sample under-represents a product line that generates 20 percent of queries, raise the sample rate on that slice or add an implicit trigger that fires when those queries hit fallback. Patronus’s drift-threshold advice applies to the sample composition as well as to metric averages: a stable faithfulness mean on an unrepresentative sample is a false calm.

Security and abuse traffic can also distort online scores. Adversarial prompts, prompt-injection attempts, and jailbreaks may deserve a separate evaluation track rather than mixing into the helpfulness average. Patronus lists security metrics such as prompt-injection and sensitive-data leakage as part of RAG evaluation before and after deploy. Folding those attempts into a general thumbs average hides both a safety incident and a clean product score. Keep the safety slice labelled as safety.

Online evaluation turns production traffic into evaluation evidence with reference-free judges, thumbs, implicit signals, and shadow replay, then feeds the hard cases back into a versioned golden set. Evidently AI separates offline development from live production monitoring and publishes sample-or-trigger guidance without a universal percentage. A sampling rate for online RAG evaluation is not published as an industry standard. Patronus requires evolving, versioned gold and drift thresholds after deploy. Pinecone warns against learning failures only from customers. Keep the offline gate, sample on purpose, promote failures with a confirmed failure mode, and treat a quiet dashboard as a coverage question before you treat it as a quality answer.