Multi Vector Retriever
Multi Vector Retriever searches small chunks, which are found more precisely, and returns the bigger piece of the document each one belongs to (a section, or the whole document), which answers more completely. Several chunks of the same piece count once.
It works in two steps, each with its own node of this component:
- Prepare Chunks cuts your documents into small chunks that remember their piece. You store them in any vector database.
- Search finds the chunks in that database and returns their pieces.
A retriever receives a question and returns the document pieces that best answer it, so an agent or model can reply with your information.
When to use it
- Small chunks are found well but fall short for answering: a product sheet, a procedure with several steps, a contract clause.
- You want the agent to read the whole section, not just the paragraph that matched.
Configuration
Operation chooses the step; each one shows its own fields.
Prepare Chunks
| Field | What it does |
|---|---|
| Documents | The documents to cut, for example the output of a file loader. |
| Piece Size | Characters of the piece a search returns. 0: the whole document. Default: 2000. |
| Chunk Size | Characters of the small chunks that are searched. Default: 400. |
| Chunk Overlap (advanced) | Characters two consecutive chunks share. Default: 50. |
Output Chunks: connect it to Ingest Data of a vector database (FAISS, Chroma DB, Qdrant…) with Operation set to Add. Each chunk keeps the data of its document plus parent_id and parent_text.
Search
| Field | What it does |
|---|---|
| Search Query | The question. |
| Vector Store | The Vector Store output of the database holding the prepared chunks. |
| Number of Results (advanced) | How many pieces are returned. Default: 5. |
| Parent Vector Store (advanced) | Only if your pieces live in a second database, linked to the chunks by ID Key. Chunks made with Prepare Chunks do not need it. |
| ID Key (advanced) | With Parent Vector Store: the chunk’s data field holding its piece’s id. Default: id. |
Outputs:
- Results: the pieces found for Search Query, each with its document’s data and the chunk that matched in
matched_chunk. - Retriever: the search engine, to connect to components that ask for one, such as Local Rerank.
Use as an agent tool
Connect the Search node to the Tools input of an Agent and the agent searches on its own: it writes Search Query with the question. It is called document_search by default; in the Tool tab change the description to say what your documents contain.
Example
A shop wants its assistant to answer with the whole product sheet, not one line of it.
- Ingest flow: file loader → Multi Vector Retriever in Prepare Chunks (Piece Size 0, one sheet per document) → Chunks to Ingest Data of a FAISS database.
- Chat flow: the same FAISS database → its Vector Store output to Vector Store of a Multi Vector Retriever in Search → connected to the agent’s Tools.
Measured figures
Measured on 17 October 2026 on a test knowledge base (9 documents of a fictional repair service, 30 questions about the documents). It is a single synthetic set: it shows how the technique behaves, not a promise for your data.
| Setup | Right answer first | In the top 5 | Text per search (top 5) |
|---|---|---|---|
| Plain search, 800-character chunks, 5 results | 60 % | 83 % | 3,100 characters |
| Plain search, 800-character chunks, 13 results | – | 97 % (in the 13) | 8,200 characters |
| Multi Vector, chunks of 400, pieces of 2000 | 60 % | 93 % | 8,400 characters |
| Multi Vector, chunks of 400, whole document | 73 % | 100 % | 25,900 characters |
- It finds more because each result is bigger: with the same amount of text, plain search with more results found as much or more.
- Its value is that the agent gets whole sections, in one piece and without repetition, instead of loose fragments.
- With whole documents, 5 results were more than half of this small collection: that figure only says the documents fit. Use whole documents when they are short (sheets, FAQs).
Video
This video compares loose chunks with the whole section that Multi Vector Retriever returns, on a question about a procedure.
What you see in the video:
- A Multi Vector Retriever node in Prepare Chunks cuts the documents into 400-character chunks that remember their 2,000-character section, and stores them in Qdrant.
- Another node in Search searches those chunks and returns the whole section.
- Asked how to replace the NTC probe of a Jaltec Brío 2G step by step, plain search returns loose fragments that are missing steps.
- The search with sections returns the full procedure, up to the final check.
Related components
- FAISS: a vector database without a server to store the chunks.
- Local Rerank: reorders the pieces by relevance.
To see how search techniques combine, see Search techniques in the RAG guide.