I stopped optimizing RAG by vibes and built a retrieval baseline first
I've been learning RAG more seriously and decided to build a measurable baseline before adding hybrid search, reranking, query rewriting, etc.
My intentionally naive setup:
- Fixed chunks: 1000 chars, no overlap
- Dense retrieval + Qdrant
- Top-K = 5
- 30 eval queries with labeled evidence
First results:
- Recall@5: 0.917
- MRR: 0.626
- nDCG@5: 0.696
The interesting part wasn't the scores, but the failure analysis. I found cases where the correct chunk was retrieved but ranked #4–5, cases where fixed chunking destroyed context, and even cases where my ground truth was incomplete.
My next plan is to change one variable at a time: chunking → hybrid retrieval → reranking → query rewriting, and compare each experiment against this baseline.
For people evaluating RAG in practice: would you improve the dataset first, or start running controlled retrieval experiments with this small benchmark?