cd /news/artificial-intelligence/rag-eval-that-doesnt-lie-to-you-hit-… · home › topics › artificial-intelligence › article
[ARTICLE · art-160884] src=discuss.huggingface.co ↗ pub= topic=artificial-intelligence verified=true sentiment=· neutral

RAG eval that doesn’t lie to you: hit-rate first, then faithfulness

A practitioner's account of a RAG evaluation workflow reports that on a 200-question run, reciprocal rank fusion at k=5 reached a hit-rate of 0.72, versus 0.61 for dense retrieval at k=5 and 0.54 for BM25 at k=5. The author measures retrieval hit-rate first, then context precision and recall, then faithfulness scored by a separate judge that never sees the gold answer, and only then answer correctness, arguing that tuning the generator while retrieval is flat or falling produces fluent hallucinations. Faithfulness improved after cutting maximum context from 12 chunks to 6 and requiring the model to cite chunk IDs, which the author attributes to less junk to invent from rather than a smarter model.

read1 min views1 publishedOct 30, 2026

I wasted a week “improving” a RAG stack by reading answers and liking them. The answers got longer and more confident. Retrieval got worse.

What I measure now, in order:

Retrieval hit-rate @k

For each question I have a gold set of doc IDs (or chunk IDs) that must appear in the top-k. Hit-rate is |gold ∩ retrieved| / |gold|. If this is flat or falling, stop tuning the generator. Context precision / recall

Precision: of the chunks you stuffed into the prompt, how many were actually needed. Recall: of the needed chunks, how many you included. Easy to game precision by retrieving fewer chunks; watch recall.

Faithfulness / groundedness

Separate judge prompt (or a smaller model) that only sees answer + retrieved context and scores unsupported claims. I ban the judge from seeing the gold answer so it doesn’t reward paraphrasing the label.

Answer correctness

Only after 1–3 look okay. Otherwise you’re scoring fluent hallucinations.

Practical setup notes:

system + retrieved spans with a hash so you can replay an eval when the corpus drifts. Made-up example from a run of 200 questions: dense@5 hit-rate 0.61, BM25@5 0.54, RRF@5 0.72. Faithfulness jumped after I cut max context from 12 chunks to 6 and required the model to cite chunk IDs — not because the LLM got “smarter,” because it had less junk to invent from.

Anyone else separating retrieval metrics from generation metrics this hard, or do you still ship on a single LLM-as-judge score?

── more in #artificial-intelligence 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/rag-eval-that-doesnt…] indexed:0 read:1min 2026-10-30 · —