My RAG pipeline had a bottleneck, and the fix turned out to be just simple math.

The problem

My retrieval pipeline for Uma Busca de Gelo e Fogo, a RAG system over the full A Song of Ice and Fire corpus (~66k paragraphs), follows a fairly standard hybrid retrieval setup:

Dense retrieval (ChromaDB, bge-m3)

→ BM25 sparse (BM25Okapi)