Why RAG evaluation is different from classical ML eval
In classical ML, evaluation is clean: a fixed test set, a loss function, done. RAG breaks that model in three places.
First, quality has two orthogonal axes — did the retriever surface the right chunks, and did the generator use them faithfully? A perfect retriever paired with a hallucinating LLM still ships wrong answers. A faithful LLM paired with a poor retriever confidently answers from bad context.
Second, the system drifts at runtime — new documents enter the corpus, embedding models get upgraded, and user query distributions shift. A snapshot eval from launch day can become irrelevant within weeks.
Third, ground truth is expensive. Human annotations cost $5–50 per example; at scale that is not free. Production eval therefore combines cheap online signals (latency, citation rate, no-answer rate) with periodic offline sweeps against curated golden sets. The rest of this lesson builds that full picture.
