AI Agents · Aula

Atualizando e excluindo vetores

Mantenha o índice sincronizado com a fonte: faça upsert quando um documento mudar, exclua-o quando for removido e trate da geração de novos embeddings.

Aula 3 de 415 etapas

Atualizando e excluindo vetores é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

O Index não está congelado

Documentos reais mudam. O índice precisa acompanhar:

  • Novos documentos adicionados
  • Documentos existentes editados
  • Documentos antigos excluídos ou arquivados

Inserir ou atualizar

A maioria dos bancos de dados vetoriais permite inserir ou atualizar — gravar o vetor com um determinado ID, substituindo o antigo caso ele exista:

index.upsert([
    ('doc-42', new_vector, {'source': 'a.pdf', 'updated_at': now})
])
# If doc-42 already exists, it is overwritten.

IDs determinísticos

Se o senhor usar IDs baseados no resumo criptográfico do conteúdo, a "atualização" acontecerá automaticamente — mesmo conteúdo = mesmo ID = mesma posição.

Se usar UUIDs, deverá acompanhar qual UUID pertence a qual documento de origem.

Detectando alterações

Para comparar um corpus, armazene um resumo criptográfico de cada fragmento:

old_chunks = load_existing_chunks(source)
new_chunks = chunk_doc(source)

old_hashes = {c.id for c in old_chunks}
new_hashes = {c.id for c in new_chunks}

to_delete = old_hashes - new_hashes
to_add = new_hashes - old_hashes
# Skip unchanged — saves re-embedding

delete por filtro

A maioria dos bancos de dados oferece exclusão por filtro, útil para "excluir tudo desta origem":

index.delete(filter={'source': '/old/file.pdf'})

Delete by ID

index.delete(ids=['doc-1', 'doc-2', 'doc-3'])

Exclusão lógica

Às vezes, o senhor quer "ocultar" sem remover — defina um sinalizador deleted_at e exclua-o durante a consulta:

index.upsert([('doc-42', vec, {'deleted_at': now})])

# At query time:
results = index.query(vector=query_vec, top_k=5, filter={'deleted_at': {'$exists': False}})

Compactação

Exclusões frequentes deixam o índice esparso. Reconstrua-o periodicamente para obter desempenho — a maioria dos bancos de dados faz isso automaticamente; consulte a documentação do seu provedor.

Nova incorporação após mudança do modelo

Se o senhor atualizar o modelo de incorporação, todos os vetores existentes se tornarão incompatíveis. Estratégias:

  1. Gravar simultaneamente nas coleções antiga e nova durante a migração
  2. Mudar o tráfego de leitura para a nova coleção quando tudo estiver concluído
  3. Excluir a coleção antiga

Fluxo de processamento incremental

Um fluxo de ingestão robusto:

def sync_doc(source_path):
    new_chunks = chunk_and_hash(load(source_path))
    existing_ids = index.fetch_ids_by_source(source_path)

    new_ids = {c.id for c in new_chunks}
    to_add = [c for c in new_chunks if c.id not in existing_ids]
    to_remove = existing_ids - new_ids

    if to_remove:
        index.delete(ids=list(to_remove))
    if to_add:
        index.upsert([(c.id, embed(c.text), c.metadata) for c in to_add])

Auditando divergências

Verifique periodicamente se o índice corresponde à fonte de verdade. Conte as linhas por origem tanto no seu banco de dados quanto no índice vetorial e gere um alerta em caso de divergência.

Atualizações acionadas por notificações

Para sistemas de gerenciamento de documentos (Notion, Confluence, GDrive), use notificações para acionar a sincronização incremental quando houver alterações — isso é muito mais barato do que rastrear tudo novamente.

Marcadores de exclusão para exclusões distribuídas

Em índices distribuídos, a operação "delete" geralmente grava um marcador de exclusão. Até a execução da compactação, as consultas ainda poderão encontrá-lo — mantenha seus filtros em vigor.

Atualizações idempotentes

Qual é a maneira mais fácil de tornar a ingestão segura para ser executada novamente?

Recapitulação

Planeje as atualizações desde o primeiro dia: IDs baseados em resumos criptográficos, ingestão baseada em diferenças e um caminho para trocar os modelos de incorporação sem tempo de inatividade.

Grátis para começar

Aprenda AI Agents com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
60
Aulas
239

Perguntas Frequentes

A aula “Atualizando e excluindo vetores” é grátis?

Sim — o texto completo de “Atualizando e excluindo vetores” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Atualizando e excluindo vetores”?

Mantenha o índice sincronizado com a fonte: faça upsert quando um documento mudar, exclua-o quando for removido e trate da geração de novos embeddings. Você pratica AI Agents com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Agents?

Nenhuma experiência prévia é necessária. AI Agents no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Atualizando e excluindo vetores”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Agents?

Sim. Cada aula de AI Agents inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Pinecone, Weaviate, Qdrant: comparação
  2. Filtragem de metadados para busca híbrida
  3. Atualizando e excluindo vetores
  4. Escolhendo métricas de distância (cosseno, L2, produto escalar)
← Voltar para AI Agents