From qdrant
Guides embedding model migration in Qdrant with zero-downtime and side-by-side strategies. Covers re-embedding, named vector fields, collection aliases, and Matryoshka alternatives.
How this skill is triggered — by the user, by Claude, or both
Slash command
/qdrant:qdrant-model-migrationThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Vectors from different models are incompatible. You cannot mix old and new embeddings in the same vector space. On v1.18+, you can add or delete named vector fields on an existing collection — migration no longer always requires a new collection. On v1.17 or earlier, all named vectors must be defined at collection creation time.
Vectors from different models are incompatible. You cannot mix old and new embeddings in the same vector space. On v1.18+, you can add or delete named vector fields on an existing collection — migration no longer always requires a new collection. On v1.17 or earlier, all named vectors must be defined at collection creation time.
Use when: looking for shortcuts before committing to full migration.
You MUST re-embed if: changing model provider (OpenAI to Cohere), changing architecture (CLIP to BGE), incompatible dimension counts across different models, or adding sparse vectors to dense-only collection.
You CAN avoid re-embedding if: using Matryoshka models (use dimensions parameter to output lower-dimensional embeddings, learn linear transformation from sample data, some recall loss, good for 100M+ datasets). Or changing quantization (binary to scalar): Qdrant re-quantizes automatically. Quantization
Use when: production must stay available. Recommended for model replacement at scale.
If the cluster is v1.18 or later AND the collection has named vectors:
UpdateVectors Update vectorsIf the cluster is v1.17 or earlier OR the collection doesn't have named vectors:
Create a new collection with the new model's dimensions and distance metric
Re-embed all data into the new collection in the background
Point your application at a collection alias instead of a direct collection name
Atomically swap the alias to the new collection Switch collection
Verify search quality, then delete the old collection
Careful, the alias swap only redirects queries. Payloads must be re-uploaded separately.
Use when: A/B testing models, multi-modal (dense + sparse), or evaluating a new model before committing.
If the cluster is v1.18 or later:
UpdateVectors Update vectorsIf the cluster is v1.17 or earlier: You cannot add a named vector to an existing collection. Create a new collection with both vector fields defined upfront:
UpdateVectors Update vectorsusing: "old_model" vs using: "new_model"Co-locating large multi-vectors (especially ColBERT) with dense vectors degrades ALL queries, even those only using dense. At millions of points, users report 13s latency dropping to 2s after removing ColBERT. Put large vectors on disk during side-by-side migration.
If you anticipate future model migrations, define both vector fields upfront at collection creation.
Use when: adding sparse/BM25 vectors to an existing dense-only collection. Most common migration pattern.
You cannot add sparse vectors to an existing collection that uses a default (unnamed) dense vector. Must recreate:
If the collection already uses named dense vectors and is on v1.18+, add the sparse vector field directly without recreating Update vector schema.
Sparse vectors at chunk level have different TF-IDF characteristics than document level. Test retrieval quality after migration, especially for non-English text without stop-word removal.
Use when: dataset is large and re-embedding is the bottleneck.
update_mode: insert (v1.17+) for safe idempotent migration Update modewith_vectors=False, re-embed in batches, upsert into new collectionindexing_threshold_kb very high, restore after)For 400GB+ datasets, expect days. For small datasets (<25MB), re-indexing from source is faster than using the migration tool.
npx claudepluginhub qdrant/skills --plugin qdrantGuides vector database selection for embeddings and semantic search, compares managed options like Pinecone and self-hosted like pgvector/Milvus, explains ANN algorithms like HNSW.
Guides upgrading Qdrant versions with zero downtime and data integrity, covering backward compatibility, storage compatibility, rolling upgrades, and tooling.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.