Hybrid retrieval made my top result worse

I added BM25 to a dense RAG retriever, watched recall@1 regress, and used a cross-encoder to turn a wider candidate pool into a measurable win.

  • RAG
  • evals
  • reranking

I built this portfolio RAG to fail usefully

The model call is optional; retrieval, citations, refusal checks, and a useful degraded answer continue when quota or configuration fails.

  • RAG
  • serverless
  • reliability