DBRaven
Failure Mode · data quality

Embedding Drift

critical

Summary

Vector embeddings become semantically stale when source document content changes but the stored embedding is not regenerated: causing semantic search and RAG retrieval to return outdated, incorrect, or misleading results without any error signal, silently degrading the quality of AI-backed features.

Description

Embedding-based systems (semantic search, RAG pipelines, recommendation engines) store pre-computed vector representations of documents or entities. A given embedding encodes the semantic content of the document at a specific point in time, using a specific embedding model version. Two conditions cause embedding staleness:

1. Content change: a product description, support article, or policy document is

edited. The stored embedding reflects the old content. A user querying for

"how do I cancel my subscription" receives a result that ranked highly based

on the old text: which may have been removed, updated to have different instructions,

or replaced with an entirely different topic.

2. Model version change: the embedding model is updated (new OpenAI model version,

updated in-house model checkpoint). Vectors from the old model and new model

are in incompatible vector spaces: their cosine similarities are meaningless.

Mixing old and new embeddings in the same index produces corrupted retrieval

results.

Embedding drift is particularly insidious because there is no error signal. The vector index returns results; they look plausible. Users or downstream LLMs consume them. The degradation is visible only through retrieval quality evaluationwhich most systems do not run continuously in production.

At scale, millions of documents may need re-embedding when a model version changes. At OpenAI's pricing in 2024, re-embedding 1 million documents at ~1,000 tokens each costs hundreds to thousands of dollars. For self-hosted models, re-embedding consumes significant GPU compute.

Characteristics

Propagationisolated
Time to detectWithout active retrieval quality monitoring, embedding drift can persist for weeks or months undetected. Detection requires: (1) tracking embedding_generated_at timestamp per document and alerting when content_updated_at > embedding_generated_at, or (2) continuous evaluation of retrieval quality against a labeled benchmark set.
Blast radiusAll queries against the affected portion of the vector index return lower-quality results. For RAG systems, this translates to lower-quality LLM responses: which may not surface as errors but as subtly wrong, outdated, or off-topic answers. If the embedding model change is not handled, the entire index is corrupted : every query's results are a mix of old and new vector spaces.

Triggers

  • ·Source document content edited or deleted without triggering re-embedding
  • ·Embedding model upgraded to an incompatible version
  • ·Embedding pipeline failure: documents processed after the model change were embedded with a different model than documents processed before, creating a mixed-model index
  • ·Document metadata changes that affect relevance but are not in the embedded text

Detection Signals

alert

Mitigation Strategies

Track embedding freshness metadatacomplexity: medium

Store embedding_model_version and embedding_generated_at alongside every stored vector. On content update, mark the embedding as stale (embedding_stale=true). A background worker processes the stale queue, re-embeds, and updates the vector. Alert if the stale queue depth exceeds a threshold.

Model version isolationpreventscomplexity: high

When upgrading the embedding model, create a new index for the new model version. Re-embed all documents into the new index. Switch query routing to the new index only after re-embedding is complete. Never mix vectors from different model versions in the same index.

CDC-triggered re-embedding pipelinepreventscomplexity: medium

Subscribe to database change events (via CDC or application hooks) for the source content table. When a document is updated, publish an re-embedding task to a queue. The embedding worker processes the queue, regenerates the vector, and upserts into the vector index.

Recovery Steps

  1. 1.Identify scope: how many documents have content_updated_at > embedding_generated_at?
  2. 2.For model version change: build a new index with the new model; do not query until complete
  3. 3.Prioritize re-embedding by last-accessed timestamp (most-read documents first)
  4. 4.Implement freshness tracking before resuming production traffic on the index
  5. 5.Add retrieval quality evaluation to the deployment pipeline for future model upgrades

Estimated recovery time: Re-embedding duration depends on collection size and model API throughput limits. At OpenAI's default rate limits, re-embedding 100,000 documents takes 2–4 hours depending on document length. Self-hosted models on GPU can process faster. A complete model migration for millions of documents may take days.

Affected Systems

Patterns

vector similarity searchmaterialized view

Technologies

postgresqlelasticsearch

Basis

Embedding drift is a recognized operational challenge in production RAG and semantic search systems; documented in LangChain, LlamaIndex, and Pinecone operational guides; the model incompatibility issue is formally described in embedding library documentation

Run This Failure

Blast radius analysis for this failure mode within each scenario that carries it.

Related Architecture Knowledge

Inbound: affects this entity

Vulnerable ToWorkload
ai embedding lookup
Grounded

AI embedding lookup workloads are directly vulnerable to embedding drift when source content changes without triggering re-embedding, silently degrading retrieval quality without any error signal.

Full relationship →
Introduces RiskTechnology
qdrant
Grounded

Qdrant stores pre-computed embeddings that become stale when source document content changes or when the embedding model version is updated, requiring scheduled re-embedding and index rebuild.

Full relationship →
Introduces RiskPattern
vector similarity search
Grounded

Vector indexes must be rebuilt when embedding model versions change; stale vectors from old models mixed with new produce retrieval quality degradation.

Full relationship →

Used In Architecture Scenarios