# MultiVectorRetriever

> **Class** in `langchain_classic`

📖 [View in docs](https://reference.langchain.com/python/langchain-classic/retrievers/multi_vector/MultiVectorRetriever)

Retriever that supports multiple embeddings per parent document.

This retriever is designed for scenarios where documents are split into
smaller chunks for embedding and vector search, but retrieval returns
the original parent documents rather than individual chunks.

It works by:
- Performing similarity (or MMR) search over embedded child chunks
- Collecting unique parent document IDs from chunk metadata
- Fetching and returning the corresponding parent documents from the docstore

This pattern is commonly used in RAG pipelines to improve answer grounding
while preserving full document context.

## Signature

```python
MultiVectorRetriever()
```

## Extends

- `BaseRetriever`

## Properties

- `vectorstore`
- `byte_store`
- `docstore`
- `id_key`
- `search_kwargs`
- `search_type`

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/b302691ff9ad841804e93e5addbdc53b6974473b/libs/langchain/langchain_classic/retrievers/multi_vector.py#L29)