Aller au contenu principal

Calculer les médoïdes et seuils d'anomalies dans Qdrant

Avant de repérer une image anormale dans une collection de cultures, il faut un centre et un seuil pour chaque classe. Le workflow lit la collection Qdrant, calcule pour chaque valeur de crop_name un centre (médoïde) par deux voies, une matrice de distances Qdrant et un embedding multimodal Voyage de descriptions de cultures, puis écrit ces centres dans Qdrant avec leur score seuil. C'est le deuxième des trois pipelines : il suppose que le premier a déjà chargé le jeu de données dans Qdrant.

Déclencheur
Lancement manuel
Taille
26 nœuds
Outils
Requêtes HTTP (API)

Comment fonctionne ce workflow

  1. 1

    Le déclencheur manuel lance le workflow, puis Edit Fields fixe l'URL du cluster Qdrant et le nom de la collection.

  2. 2

    HTTP Request demande à Qdrant le nombre total de points, puis les facet counts sur le champ crop_name.

  3. 3

    Code rassemble la taille de la plus grande classe et la liste des cultures uniques, et Split Out sépare une ligne par culture.

  4. 4

    HTTP Request appelle l'API de matrice de distances de Qdrant pour chaque classe, et Code en tire un représentant : le point le plus proche de tous les autres en similarité cosinus.

  5. 5

    Sur la voie multimodale, HTTP Request envoie les descriptions de cultures au modèle Voyage, puis cherche dans Qdrant l'image la plus proche de chaque description.

  6. 6

    HTTP Request écrit le payload is_medoid pour les centres de la voie matrice de distances, et is_text_anchor_medoid pour ceux de la voie Voyage, avant que Merge rejoigne les deux branches.

  7. 7

    Pour chaque classe, Code cherche le point le plus éloigné du centre, puis enregistre le score de similarité avec ce point comme seuil dans le payload du centre.

Quand l'utiliser

  • Préparer la détection d'anomalies sur un jeu d'images de cultures déjà chargé dans Qdrant.
  • Recalculer les centres et les seuils après avoir modifié la collection.
  • Comparer un centre trouvé par matrice de distances à celui trouvé à partir d'une description textuelle.

À préparer avant l'import

  • Une instance Qdrant accessible, avec l'URL de son cluster.
  • Une collection Qdrant remplie par le premier pipeline, avec des vecteurs nommés voyage et un champ crop_name.
  • Un accès au modèle Voyage, avec sa clé d'API dans les identifiants de n8n.
  • Le jeu de données de cultures de Kaggle, envoyé dans un bucket Google Storage.
  • Les descriptions de cultures codées en dur dans le workflow, à relire ou à remplacer selon vos classes.

Bon à savoir

Réglez d'abord le rang du point qui fixe le seuil, au début du pipeline : le plus éloigné du centre, ou le 2e, le 3e… Au-delà de quelques centaines de points étiquetés, n'appelez pas l'API de matrice de distances.

Installer ce template dans n8n

  1. Téléchargez le fichier JSON avec le bouton en haut de la page.
  2. Dans n8n, ouvrez le menu d'un workflow vide, choisissez « Import from File » et sélectionnez le fichier.
  3. Reliez vos propres identifiants à chaque nœud qui en demande un, lancez un test, puis activez le workflow.

Ce template fonctionne sur n8n auto-hébergé comme sur n8n Cloud. Les nœuds IA demandent une version récente de n8n.

Vous voulez ce workflow branché sur vos outils ?

Ce template est un point de départ. Nous l'adaptons à vos règles, à vos comptes et à votre hébergement, puis nous le maintenons.

Voir notre accompagnement n8n