qdrant-model-migration
Faz seu agente migrar modelos de dados no Qdrant sem interrupções. Ajuda a trocar ou atualizar modelos de vetores sem parar o serviço.
O que ela faz
Este guia ajuda você a trocar o modelo de 'embedding' (como seus dados são transformados em números para busca) no Qdrant sem interromper o serviço. Ele explica como migrar seus dados para um novo modelo sem que seu aplicativo pare de funcionar.
Quando usar
- ✓Quando você quer trocar o modelo que transforma texto em números.
- ✓Quando você precisa atualizar seus dados para um novo modelo sem parar o aplicativo.
- ✓Quando você quer testar um novo modelo comparado ao antigo.
Exemplo do que pedir para a IA
“Como posso trocar meu modelo de embedding no Qdrant sem que o sistema saia do ar?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O Qdrant não permite adicionar novos tipos de 'vetores' (os números que representam seus dados) a uma coleção já existente. Por isso, é preciso criar uma nova coleção e migrar os dados. Para evitar interrupções, você pode usar 'aliases' (apelidos para coleções) para trocar de coleção de forma transparente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill qdrant-model-migrationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/qdrant-model-migration/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
O Que Fazer ao Mudar Modelos de Embedding
Vetores de modelos diferentes são incompatíveis. Você não pode misturar embeddings antigos e novos no mesmo espaço vetorial. Você também não pode adicionar novos campos de vetor nomeados a uma coleção existente. Todos os vetores nomeados devem ser definidos no momento da criação da coleção. Ambas as estratégias de migração abaixo exigem a criação de uma nova coleção.
- Entenda os aliases de coleção antes de escolher uma estratégia Aliases de coleção
Posso Evitar Re-embedding?
Use quando: procurando atalhos antes de se comprometer com a migração completa.
VOCÊ DEVE re-embedar se: mudar o provedor do modelo (OpenAI para Cohere), mudar a arquitetura (CLIP para BGE), contagens de dimensão incompatíveis entre modelos diferentes, ou adicionar vetores esparsos a uma coleção apenas densa.
VOCÊ PODE evitar re-embedding se: usar modelos Matryoshka (use o parâmetro dimensions para gerar embeddings de menor dimensão, aprenda a transformação linear a partir de dados de amostra, alguma perda de recall, bom para datasets de mais de 100M). Ou mudar a quantização (binária para escalar): Qdrant re-quantiza automaticamente. Quantização
Precisa de Zero Downtime (Troca de Alias)
Use quando: a produção deve permanecer disponível. Recomendado para substituição de modelos em escala.
- Crie uma nova coleção com as dimensões e métrica de distância do novo modelo
- Re-embede todos os dados na nova coleção em segundo plano
- Aponte sua aplicação para um alias de coleção em vez de um nome de coleção direto
- Troque atomicamente o alias para a nova coleção Trocar coleção
- Verifique a qualidade da busca, depois delete a coleção antiga
Cuidado, a troca de alias apenas redireciona as consultas. Os payloads precisam ser reenviados separadamente.
Precisa de Ambos os Modelos Ativos (Lado a Lado)
Use quando: testes A/B de modelos, multimodal (denso + esparso), ou avaliação de um novo modelo antes de se comprometer.
Você não pode adicionar um vetor nomeado a uma coleção existente. Crie uma nova coleção com ambos os campos de vetor definidos antecipadamente:
- Crie uma nova coleção com vetores nomeados antigos e novos ambos definidos Coleção com múltiplos vetores
- Migre dados da coleção antiga, preservando os vetores existentes no campo nomeado antigo
- Preencha embeddings do novo modelo incrementalmente usando
UpdateVectorsAtualizar vetores - Compare a qualidade consultando com
using: "old_model"vsusing: "new_model" - Troque o alias para a nova coleção assim que estiver satisfeito
Co-localizar multi-vetores grandes (especialmente ColBERT) com vetores densos degrada TODAS as consultas, mesmo aquelas que usam apenas densos. Com milhões de pontos, usuários relatam latência de 13s caindo para 2s após remover o ColBERT. Coloque vetores grandes em disco durante a migração lado a lado.
Se você antecipar futuras migrações de modelo, defina ambos os campos de vetor antecipadamente na criação da coleção.
Migração de Busca Densa para Híbrida
Use quando: adicionando vetores esparsos/BM25 a uma coleção existente apenas densa. Padrão de migração mais comum.
Você não pode adicionar vetores esparsos a uma coleção existente apenas densa. Deve recriar:
- Crie uma nova coleção com configurações de vetor densas e esparsas ambas definidas
- Re-embede todos os dados com modelos densos e esparsos
- Migre payloads, troque alias
Vetores esparsos no nível do chunk têm características TF-IDF diferentes do nível do documento. Teste a qualidade de recuperação após a migração, especialmente para texto não-inglês sem remoção de stop-words.
Re-embedding é Muito Lento
Use quando: o dataset é grande e o re-embedding é o gargalo.
- Use
update_mode: insert(v1.17+) para migração idempotente segura Modo de atualização - Percorra a coleção antiga com
with_vectors=False, re-embede em lotes, upsert na nova coleção - Envie em lotes paralelos (64-256 pontos por requisição, 2-4 streams paralelos) Upload em massa
- Desabilite HNSW durante o carregamento em massa (defina
indexing_threshold_kbmuito alto, restaure depois) - Para inferência no Qdrant Cloud, mudar modelos é uma mudança de configuração, não uma mudança de pipeline Documentação de inferência
…
Perguntas frequentes
Preciso re-transformar todos os meus dados?
Sim, na maioria dos casos. Se você mudar o provedor do modelo (ex: de OpenAI para Cohere), a arquitetura do modelo, ou as dimensões dos números gerados, você precisará re-transformar seus dados. Mudanças pequenas como a forma de 'quantização' (compressão dos números) podem ser feitas automaticamente.
O que são 'aliases' de coleção?
Aliases são como apelidos que você dá para suas coleções de dados. Em vez de seu aplicativo sempre apontar para o nome exato da coleção, ele aponta para um alias. Isso permite que você troque o alias para apontar para uma nova coleção sem precisar mudar o código do seu aplicativo.
E se meus dados forem muito grandes?
Para conjuntos de dados muito grandes, re-transformar tudo pode ser lento. O guia sugere otimizações como desabilitar temporariamente a indexação HNSW e fazer uploads em lotes paralelos para acelerar o processo.
Detalhes
Descrição original do autor
Guides embedding model migration in Qdrant without downtime. Use when someone asks 'how to switch embedding models', 'how to migrate vectors', 'how to update to a new model', 'zero-downtime model change', 'how to re-embed my data', or 'can I use two models at once'. Also use when upgrading model dimensions, switching providers, or A/B testing models.
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5298
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
clickhouse-io
Ajuda seu agente a otimizar consultas e esquemas no banco de dados ClickHouse. Ele aplica as melhores práticas para cargas de trabalho analíticas de alta performance. Use quando consultas analíticas demoram muito.
affaan-m/ECC
scientific-db-pubmed-database
Ajuda seu agente a buscar artigos científicos na área biomédica. É útil para pesquisas que precisam de informações médicas específicas.
affaan-m/ECC
scientific-db-uspto-database
Permite ao agente consultar dados oficiais de patentes e marcas registradas dos EUA. É útil para pesquisas de propriedade intelectual.
affaan-m/ECC