RAG & LLMs / 5. RETRIEVAL
Stage 5: Retrieval
Hybrid BM25 + Dense — best of keyword and semantic search
EXPLANATION
A Retriever wraps your vector store with smarter logic. Plain vector search misses exact keyword matches. BM25 (TF-IDF style) catches exact terms but misses semantics. Hybrid does both. Retriever types in LangChain: • VectorStoreRetriever → basic cosine similarity • BM25Retriever → keyword-based (sparse), catches exact matches • EnsembleRetriever → combines BM25 + dense with RRF fusion • MultiQueryRetriever → generates query variants, merges results • ContextualCompressionRetriever → retrieves then compresses to relevant sentences only
DATA FLOW
Query: "How do transformers handle long sequences?"
↓
┌───────────────┴───────────────┐
│ │
BM25 (keyword) Dense (semantic)
finds: "transformer" finds: related concepts
finds: "long sequences" even without exact words
│ │
└───────────────┬───────────────┘
↓
Reciprocal Rank Fusion
↓
Top-10 merged chunksCODE