This is the right path whenever you change the embedding model (e.g. a new frontier text model, or switching
text_extractor → a higher-dim model). For routine model upgrades within the same family, the model registry hot-swaps the default for new collections without touching existing ones.How it works
A migration of typere_extract reads your source namespace’s objects and re-runs extraction with a new feature_extractors config (the new model) into a target namespace. Your source stays live and untouched until you choose to cut over.
1. Validate first (dry run)
Always validate the migration config before committing compute — it checks the source, target, and extractor config without extracting anything.2. Create the migration
migration_id.
3. Start and monitor
POST /v1/namespaces/migrations/{migration_id}/cancel.
4. Cut over
Re-extraction re-pays GPU/extraction cost for every document, so validate on a subset first (usefilters) and confirm quality before migrating everything. Once the target namespace is populated and validated:
- Re-run your evaluations against the target namespace to confirm relevance is at least as good. For a head-to-head old-vs-new read on real query logs, run the same query set through both namespaces’ retrievers as benchmarks, or generate an evaluation dataset from recorded interactions so the comparison reflects production traffic rather than synthetic queries.
- Point your application’s
X-Namespace(and retrievers) at the target namespace. - Retire the source namespace when you’re confident.
Rollback
The source namespace stays live and untouched until you retire it — that is the rollback path. If post-cutover metrics regress, pointX-Namespace back at the source namespace; no re-extraction is needed in either direction. Only retire the source once the target has survived real traffic for as long as your risk tolerance requires.
Related
- Model Registry — how default models are resolved and hot-swapped
- Feature Extractors — extractor + model configuration
- Evaluations — verify the new model before cutting over
- Reprocess existing content — the underlying re-extraction flow, step by step
- Monitoring ingestion — track re-extraction progress

