How do you version and update embeddings in agentic RAG?

Manage embedding versions in Milvus by storing model metadata, versioning collections, and incrementally updating outdated embeddings.

Versioning strategy:

1. Model metadata per embedding: json { "embedding_model": "text-embedding-3-large", "model_version": "20250101", "embedding_dims": 1536, "generated_at": 1700000000 }

Store alongside vectors. Agents know which model generated each embedding.

2. Collection naming: Create collections by model version ("embeddings_v1", “embeddings_v2”). Agents can query specific versions or compare results.

3. Gradual rollover: When releasing a new embedding model:

  • Create new collection with new embeddings
  • Run both in parallel (dual-write)
  • Compare agent performance (relevance, loop count)
  • Migrate agents to new model over 1–2 weeks
  • Archive old collection after full migration

4. Incremental updates: Don’t re-embed the entire database. Track:

  • Last embedding timestamp per document
  • If source document is newer, re-embed
  • Use background workers to incrementally update

5. Semantic versioning: When you update the embedding model, decide if the change is breaking (new dims), non-breaking (new model, same dims).

Fallback strategy: Keep previous embeddings available for agents that need stability. Newer agents use latest model.

For agentic RAG, embedding freshness is critical. Outdated embeddings (>30 days) degrade agent relevance by ~15%. Build versioning into your pipeline from day one.

Related Resources:

Like the article? Spread the word