RAG

Changing Embedding Models in Private RAG: A Controlled Migration Plan

Plan an on-premises embedding migration with parallel indexes, permission checks, deletion handling, measured cutover, and a usable rollback path.

The upgrade that changes what your assistant can find

A private knowledge assistant can keep the same language model and still change its answers after an embedding upgrade. The retrieval layer determines which evidence reaches the model. Changing that layer therefore deserves its own release plan, even when the proposed embedding model is smaller, faster, or better suited to internal terminology.

For an enterprise operating inside its own data center, the question is practical: how do you build the new representation of the document estate while employees continue searching it? The plan must account for documents changing during the build, access being revoked, and limited capacity shared with production inference. This article proposes a migration acceptance plan for that situation.

Define a complete retrieval release

Record the embedding model identifier, artifact digest, tokenizer, preprocessing rules, vector dimensions, similarity metric, and query encoding instructions. Pair those with the chunking configuration, collection identifier, permission-filter version, and reranker. A retrieval release is this combination, not simply a model filename.

Keep the first migration deliberately narrow. If the business case is improved retrieval for engineering terminology, change the embedding model while holding chunking and the final answer model steady where feasible. Otherwise, an improvement or regression becomes harder to explain. If the new model requires different preprocessing, record that dependency explicitly and evaluate the combined change.

Establish a source inventory before starting. Each indexed chunk needs a stable source reference and a content revision. Decide how the migration will obtain the original text, including records that are archived, permission-restricted, or no longer eligible for processing. Missing source material belongs in an exception queue, never in a silent success count.

Build the replacement beside the active index

Qdrant documents both parallel-collection migration and an additional named-vector approach. Its guide also explains that its cloud inference examples need adaptation when embeddings are generated by a self-managed service. For a sovereign deployment, explicitly configure the approved local embedding endpoint rather than copying an external inference dependency. See the official embedding migration guide.

A useful enterprise default is a separately addressable replacement index. Continue serving the active release while a controlled job populates the replacement. Keep query embeddings paired with their corresponding document embeddings; matching vector dimensions alone does not establish compatibility between different models.

Budget temporary storage and compute before approving the work. Include duplicate text payloads, vector indexes, replication, write logs, and the overlap period needed for rollback. Schedule backfill below production priority, with a pause condition tied to user-facing latency and queue pressure. A migration that completes faster by starving production has failed its operational objective.

Make document changes part of the migration

The hardest acceptance case is a document that changes after the backfill reads it. Use an ordered change feed or another durable reconciliation mechanism to apply subsequent revisions to the replacement. Compare source revisions before writing so an older backfill result cannot overwrite a newer update.

Deletion requires the same discipline. Maintain a deletion marker or equivalent authoritative check that the backfill consults before restoring a record. Replicate permission changes and removals throughout the overlap period. Qdrant explicitly calls out additional handling for deletes and partial updates in its parallel-collection approach; an upsert-only demonstration is not a complete enterprise migration procedure.

Assign responsibility for unresolved differences. The knowledge owner should decide whether a missing source is acceptable; security should own access discrepancies; platform engineering should own stalled processing. Record counts help locate problems, but equal counts do not prove equal content, current permissions, or complete deletion.

Compare evidence, access, and capacity separately

Build an evaluation set from authorized examples representing the actual corpus. Include specialist vocabulary, acronyms, multilingual questions, outdated policies, and questions with no supported answer. Have domain reviewers identify acceptable evidence before examining which index retrieved it.

Run the same query through both releases using equivalent identities and source snapshots. Compare whether relevant material is retrieved, whether citations refer to the correct revision, and whether the final answer remains supported. Review disagreements directly; a single average can hide a serious regression in a small but important document group.

  • Access gate: a restricted source stays unavailable to an unauthorized identity in both releases.
  • Freshness gate: an updated document replaces its prior revision within the agreed operating window.
  • Deletion gate: a removed source cannot reappear through a delayed backfill job.
  • Capacity gate: production remains usable while indexing and evaluation run together.

Choose acceptance thresholds with the workflow owner before testing. These are local operating decisions, not universal benchmark values. Retain reviewed failures as regression cases for subsequent releases.

Cut over the whole retrieval configuration

Switch the query encoder, target index, and related retrieval settings as one versioned configuration. An index alias change alone is insufficient when application workers still encode queries with the previous model. Tag requests with the selected release so logs can explain which combination produced an answer.

Begin with an authorized pilot group and observe both retrieval quality and operational behavior. Partition or invalidate caches that depend on the old retrieval release. Preserve permission checks independently of the cache and release selection. If rollback becomes necessary, route the complete configuration back together.

Keep the previous index current for the agreed rollback window, or state clearly that rollback first requires replaying changes. An old index with stale permissions is not a safe recovery target. Retirement should include removing obsolete credentials, scheduled jobs, and derived artifacts according to the organization’s retention rules.

Make the migration reviewable in a VDF AI deployment

For a VDF AI Solution architecture, treat the private RAG migration as a dependency change beneath the governed agent and model-routing layer. Ask the implementation team to show how retrieval releases are selected, traced, and reversed in your installation. These are acceptance requirements to verify, not assumptions that every connector supplies them automatically.

The release record should contain the corpus scope, configuration identifiers, evaluation outcomes, unresolved exceptions, approver, cutover time, and rollback decision. That gives platform engineering and governance stakeholders a shared account of what changed without retaining unrestricted copies of every document in operational logs.

For the component-selection background, read embedding models and rerankers for private RAG. To plan a migration against your own repositories, request a VDF AI architecture review with your source-change process and retrieval acceptance criteria.

## Sources and further reading

Planning a retrieval upgrade against live repositories? Book a VDF AI architecture review to turn your source-change process, permission model, and retrieval acceptance criteria into a migration plan with a rollback path.

Frequently asked questions

Why does changing an embedding model change the answers?

The embedding model decides which passages are retrieved as evidence. The language model can only reason over what retrieval hands it, so a different embedding model can change an answer even when the generation model, prompt, and corpus are unchanged. That is why an embedding change needs its own release plan rather than being treated as a dependency upgrade.

Can we reuse the existing index if the vector dimensions match?

No. Matching dimensions do not make two models compatible. Document vectors and query vectors must be produced by the same model and preprocessing; mixing them silently degrades retrieval rather than failing loudly. Cut over the query encoder and the target index together as one versioned configuration.

What happens to documents that change during the backfill?

They need a durable reconciliation mechanism — an ordered change feed or equivalent — so later revisions are applied to the replacement index, and a revision comparison so an older backfill result cannot overwrite a newer update. Deletions need the same treatment, or a delayed job can restore a record that was removed.

How long should the old index be kept after cutover?

For as long as your agreed rollback window, and only if it is kept current with content, permission, and deletion changes during that period. A stale index with stale permissions is not a safe recovery target. If it will not be maintained, state plainly that rollback requires replaying changes first.

Filed under
private RAGon-premises AIAI governanceembedding modelsvector search
Private RAG & Search

Evaluate your knowledge stack

Find out how a private RAG and retrieval layer would perform on your data — accuracy, latency, governance, and what to fix before you scale.

Read RAG best practices

Or start free — no credit card →

Keep reading