Skip to content

What is single-representation vs multi-representation document retrieval?

Beginner · 2 min read · RAG & Vector Databases

Open in study mode to save this question and track progress

Short answer: Single-representation retrieval embeds an entire document chunk into a single vector embedding; multi-representation retrieval decouples the search index from the generation context, generating multiple distinct vector summaries or synthetic questions for search while linking back to full raw document chunks.

Detail

In standard single-representation RAG, text chunks are embedded directly:

Single-Representation: [Raw 500-Word Chunk] ──► Embed ──► Single Vector in Index

If a document chunk contains multiple dense ideas, a single vector embedding dilutes specific detail signals.

Multi-Representation:  [Raw 500-Word Chunk] ──┬──► Generate Summary ──► Vector A (Index)
                                              ├──► Generate Questions ──► Vector B (Index)
                                              └──► Raw Full Text (Retrieved for Prompt Context)

Advantages of Multi-Representation Retrieval

  1. Question-to-Question Matching: Embedding synthetic questions generated from text aligns closely with user query vector structures.
  2. Context Preservation: Short summaries yield precise vector matches, but the LLM receives the full raw parent document during generation.

Example

Python concept mapping multiple search vectors to a parent document:

python
class MultiRepresentationDocStore:
    def __init__(self):
        self.doc_store = {} # parent_id -> full raw document text
        self.vector_index = [] # tuples of (vector, parent_id)

    def add_document(self, parent_id: str, raw_text: str, summary_vec, questions_vec):
        self.doc_store[parent_id] = raw_text
        # Both vectors link to the same parent document ID
        self.vector_index.append((summary_vec, parent_id))
        self.vector_index.append((questions_vec, parent_id))

Interview tips

  • Connect multi-representation indexing to Parent-Document Retriever patterns in LangChain/LlamaIndex.
  • Highlight how multi-representation RAG solves table and code snippet retrieval bottlenecks.

Related Concepts


⬅ Back to RAG and Vector Databases · All topics