0Pricing
AI Agents · Leçon

Mettre à jour et supprimer des vecteurs

Gardez l’index synchronisé avec la source : effectuez une insertion ou mise à jour lors d’une modification de document, supprimez les éléments retirés et gérez les nouveaux embeddings.

Mettre à jour et supprimer des vecteurs est une leçon AI Agents gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Agents, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Agents comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

L’index n’est pas figé

Les documents réels changent. L’index doit suivre ces changements :

  • Nouveaux documents ajoutés
  • Documents existants modifiés
  • Anciens documents supprimés ou archivés

Insertion ou mise à jour

La plupart des bases de données vectorielles prennent en charge l’insertion ou la mise à jour : écrivez le vecteur avec un ID donné et l’ancien sera remplacé s’il existe :

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

Identifiants déterministes

Si vous utilisez des identifiants fondés sur le hachage du contenu, la « mise à jour » se produit automatiquement : même contenu = même ID = même emplacement.

Si vous utilisez des UUID, vous devez suivre quel UUID correspond à quel document source.

Détecter les changements

Pour comparer un corpus, stockez le hachage de chaque fragment :

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

Suppression par filtre

La plupart des bases de données prennent en charge la suppression par filtre, ce qui est utile pour « supprimer tout ce qui provient de cette source » :

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

Delete by ID

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

Suppression logique

Vous pouvez parfois vouloir « masquer » un élément sans le supprimer : définissez un indicateur de suppression, puis excluez-le au moment de la requête :

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}})

Compactage

Les suppressions fréquentes laissent l’index clairsemé. Reconstruisez-le périodiquement pour préserver les performances : la plupart des bases de données le font automatiquement. Consultez la documentation de votre fournisseur.

Recalcul des plongements après changement de modèle

Si vous mettez à niveau le modèle de plongement, tous les vecteurs existants deviennent incompatibles. Stratégies :

  1. Écrivez simultanément dans les anciennes et les nouvelles collections pendant la migration
  2. Lorsque la migration est terminée, dirigez le trafic de lecture vers la nouvelle collection
  3. Supprimez l’ancienne collection

Chaîne de traitement incrémentielle

Une chaîne de traitement de chargement robuste :

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])

Audit de la dérive

Vérifiez périodiquement que l’index correspond à la source de référence. Comptez les lignes par source dans votre base de données et dans l’index vectoriel, puis déclenchez une alerte en cas d’écart.

Mises à jour déclenchées par des webhooks

Pour les systèmes de gestion de documents (Notion, Confluence, GDrive), utilisez des webhooks pour déclencher une synchronisation incrémentielle lors d’une modification : c’est bien moins coûteux que de tout analyser à nouveau.

Marqueurs de suppression pour les suppressions distribuées

Dans les index distribués, une « suppression » écrit souvent un marqueur de suppression. Tant que le compactage n’a pas été exécuté, les requêtes peuvent encore voir ce marqueur : conservez vos filtres en place.

Mises à jour idempotentes

Quel est le moyen le plus simple de rendre le chargement sûr en cas de nouvelle exécution ?

Récapitulatif

Prévoyez les mises à jour dès le premier jour : identifiants fondés sur le hachage, chargement fondé sur la comparaison et possibilité de remplacer les modèles de plongement sans interruption de service.

Questions Fréquemment Posées

La leçon « Mettre à jour et supprimer des vecteurs » est-elle gratuite ?

Oui — le texte complet de « Mettre à jour et supprimer des vecteurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Agents, passe à CoddyKit PRO. Le cours AI Agents comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Mettre à jour et supprimer des vecteurs » ?

Gardez l’index synchronisé avec la source : effectuez une insertion ou mise à jour lors d’une modification de document, supprimez les éléments retirés et gérez les nouveaux embeddings. Tu pratiques AI Agents avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AI Agents ?

Aucune expérience préalable n'est requise. AI Agents sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Mettre à jour et supprimer des vecteurs » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AI Agents ?

Oui. Chaque leçon AI Agents inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pinecone, Weaviate, Qdrant : comparaison
  2. Filtrage des métadonnées pour la recherche hybride
  3. Mettre à jour et supprimer des vecteurs
  4. Choisir les métriques de distance (cosinus, L2, produit scalaire)
← Retour à AI Agents