Vector similarity is not relevance
Embedding-based retrieval ranks by cosine similarity, which is correlated with relevance but not the same thing. The top-K from a vector search routinely contains a chunk that's similar in vibe but answers a slightly different question. Rerankers fix this by scoring each candidate against the actual query with a more expensive model.
The two-stage pattern
- Retrieve — cheap, broad. Get top-50 from vector + BM25 hybrid.
- Rerank — expensive, narrow. Use a cross-encoder or LLM to score each of the 50 against the query.
- Pack — feed the top-N reranked chunks to the synthesis model.
When reranking earns its cost
- Recall matters more than precision (legal, medical, support — you want the right chunk in the answer set).
- Queries are short and ambiguous (single keywords, partial phrases).
- The corpus has near-duplicates (rerankers help disambiguate).
When to skip
- Latency budget is tight (you can't add 200ms).
- Retrieval is already 95% accurate at top-3.
- Cost dominates and accuracy is acceptable.