A RAG pipeline retrieves 50 candidate documents using fast vector search, then must select the 5 most relevant for inclusion in Claude's context. The initial vector search produces good recall but mediocre precision. What reranking approach most improves precision with acceptable latency overhead?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Here's the deal — b is correct because cross-encoder reranking is the standard solution for this precision-recall tradeoff: cross-encoders process the query and each document jointly (not independently), enabling them to capture fine-grained relevance signals that bi-encoder embeddings miss. They are designed specifically for reranking tasks and are significantly cheaper and faster than invoking Claude on 50 documents.
Full explanation below image
Full Explanation
B is correct because cross-encoder reranking is the standard solution for this precision-recall tradeoff: cross-encoders process the query and each document jointly (not independently), enabling them to capture fine-grained relevance signals that bi-encoder embeddings miss. They are designed specifically for reranking tasks and are significantly cheaper and faster than invoking Claude on 50 documents. A is wrong because using Claude to read 50 documents is extremely expensive (50 × document token count × Claude API cost), introduces high latency for this pipeline stage, and is overkill when dedicated cross-encoder models achieve comparable reranking quality at 100x lower cost. C is wrong because re-embedding with a better embedding model still produces independent query and document embeddings — it improves the embedding quality but does not add the joint query-document scoring that cross-encoders provide. D is wrong because BM25 at the reranking stage adds exact-match signals but lacks the semantic understanding of cross-encoders; for a general-purpose reranker, cross-encoders outperform BM25 on precision.