Pular para o conteúdo
Skillpedia
Bancos de dados40 mil · #5298

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

https://github.com/github/awesome-copilot/blob/main/skills/qdrant-model-migration/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/qdrant-model-migration/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-migration

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/qdrant-model-migration/SKILL.md -o SKILL.md
Conteú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.

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 UpdateVectors Atualizar vetores
  • Compare a qualidade consultando com using: "old_model" vs using: "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_kb muito 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas