Use Cases Multi Vector
Module 1: Use Cases for Multi-Vector Search
Define a specific technical query about Python database connection pool exhaustion in async web applications.
Define four candidate documents with varying relevance levels - from highly relevant to keyword-stuffed to completely irrelevant.
Load a single-vector embedding model (BGE) to establish a baseline for comparison.
Embed the query as a single 384-dimensional vector.
Embed all documents as single vectors for batch comparison.
Compute dot product similarities. Notice that the keyword-stuffed Document C scores higher than the genuinely relevant Document A with single-vector search.
Now load ColBERT, a late interaction model that produces per-token embeddings instead of a single vector.
Embed the query as a multi-vector representation - one 128-dimensional vector per token.
Embed documents as multi-vectors. Each document gets a different number of vectors depending on its token count.
Compute MaxSim scores. Unlike single-vector search, ColBERT correctly ranks Document A highest because it matches the query at the token level.