Loading

Quipoin Menu

Learn • Practice • Grow

rag / Retrievers
tutorial

Retrievers

A retriever is the component that takes a query and returns relevant documents. LangChain provides several retriever types beyond basic similarity search.

Vector Store Retriever (Basic)

retriever = vectorstore.as_retriever(search_kwargs={"k": 4})
Returns top‑k most similar documents.

Multi‑Query Retriever

Generates multiple variations of the query using an LLM, retrieves for each, and combines results. Improves recall.
from langchain.retrievers import MultiQueryRetriever

retriever = MultiQueryRetriever.from_llm(retriever=vectorstore.as_retriever(), llm=llm)

Ensemble Retriever

Combines multiple retrievers (e.g., vector + BM25) using weighted reciprocal rank fusion.
from langchain.retrievers import EnsembleRetriever

retriever = EnsembleRetriever(retrievers=[bm25_retriever, vector_retriever], weights=[0.5, 0.5])

Metadata Filtering

Filter by metadata before retrieval (e.g., only search documents from a specific source).
retriever = vectorstore.as_retriever(search_kwargs={"filter": {"source": "report.pdf"}})


Two Minute Drill
  • Basic retriever: returns top‑k similar chunks.
  • Multi‑Query retriever improves recall by generating query variations.
  • Ensemble retriever combines vector and keyword search.
  • Metadata filtering narrows down search space.

Need more clarification?

Drop us an email at career@quipoinfotech.com