Intermediate9 min
Retrievers
Retriever vs VectorStore, as_retriever(), custom retrievers, contextual compression, multi-query retriever, ensemble retriever.
Quick Reference
- →Retriever is a Runnable — it plugs into LCEL chains with the | operator
- →vector_store.as_retriever() wraps any VectorStore in the Retriever interface
- →MultiQueryRetriever generates multiple query variations to improve recall
- →ContextualCompressionRetriever filters and compresses retrieved documents to reduce noise
- →EnsembleRetriever combines results from multiple retrievers using reciprocal rank fusion
Retriever vs VectorStore
Retriever = Runnable
A Retriever is a Runnable that takes a string query and returns documents. It's an abstraction over VectorStore — you can use it in LCEL chains with |. VectorStore holds data; Retriever searches it.
From VectorStore to Retriever to LCEL chain