Batch Upload Dataset to Qdrant für Anomalieerkennung und KNN-Klassifizierung

Dieser Workflow lädt ein Dataset von landwirtschaftlichen Kulturen in Qdrant hoch und bereitet es für Anomalieerkennung und KNN-Klassifizierung vor.

Batch Upload Dataset to Qdrant für Anomalieerkennung und KNN-Klassifizierung

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

1. Workflow-Übersicht

In diesem Workflow werden Bilder von landwirtschaftlichen Kulturen von Google Cloud Storage in Qdrant hochgeladen. Dabei werden die Bilder zuerst in Batches verarbeitet, dann werden für jedes Bild Embeddings mithilfe der Voyage API erstellt und schließlich werden diese zusammen mit den Bildbeschreibungen in Qdrant hochgeladen.

2. Detaillierte Erklärung der Nodes

Node 1: When clicking ‘Test workflow’

  • Typ: Manual Trigger
  • Funktionsbeschreibung: Startet den Workflow manuell.

Node 2: Google Cloud Storage

  • Typ: Google Cloud Storage
  • Funktionsbeschreibung: Liest Objekte aus dem Google Cloud Storage-Bucket.
  • Einstellungen:
    • Bucket Name: n8n-qdrant-demo
    • List Filters: Prefix gesetzt auf „agricultural-crops“ um nur die relevanten Bilder zu laden.

Node 3: Get fields for Qdrant

  • Typ: Set
  • Funktionsbeschreibung: Erstellt Variablen für den Upload an Qdrant, einschließlich des öffentlichen Links zu den Bildern und des Namens der Ernte.
  • Einstellungen:
    • publicLink: Konstruktion des öffentlichen Links zu den Bildern.
    • cropName: Extraktion des Erntetyps aus der Datei.

Node 4: Qdrant cluster variables

  • Typ: Set
  • Funktionsbeschreibung: Definiert Variablen für den Zugriff auf das Qdrant-Cluster.
  • Einstellungen:
    • qdrantCloudURL: Die URL des Qdrant-Clusters.
    • collectionName: der Name der Sammlung in Qdrant.
    • VoyageEmbeddingsDim: Dimension der Voyage-Embeddings.
    • batchSize: Größe der Batches zum Hochladen.

Node 5: Embed crop image

  • Typ: HTTP Request
  • Funktionsbeschreibung: Nutzt die Voyage API, um Bilder in Vektoren (Embeddings) umzuwandeln.
  • Einstellungen:
    • URL: Die Endpunkt-URL der Voyage API.
    • Method: POST
    • JSON Body: enthält Bildinformationen zur Verarbeitung.

Node 6: Create Qdrant Collection

  • Typ: HTTP Request
  • Funktionsbeschreibung: Erstellt eine neue Sammlung in Qdrant für die hochzuladenden Daten.
  • Einstellungen:
    • URL: Dynamisch basierend auf den Qdrant-Variablen.
    • Method: PUT

Node 7: Check Qdrant Collection Existence

  • Typ: HTTP Request
  • Funktionsbeschreibung: Überprüft, ob die Sammlung bereits existiert.
  • Einstellungen:
    • URL: Die URL für die Überprüfung der Sammlung.

Node 8: Batches in the API’s format

  • Typ: Set
  • Funktionsbeschreibung: Formatiert die bearbeiteten Bilder in ein für die API geeignetes Format.
  • Einstellungen:
    • batchVoyage: Array von Bildinhalten.
    • batchPayloadQdrant: Metadata für die Bilder.
    • uuids: Erzeugt eindeutige IDs für die Punkte in Qdrant.

Node 9: Batch Upload to Qdrant

  • Typ: HTTP Request
  • Funktionsbeschreibung: Führt den Batch-Upload der generierten Vektoren in Qdrant durch.
  • Einstellungen:
    • URL: Dynamisch basierend auf den Qdrant-Variablen.
    • Method: PUT

Node 10: Split in batches, generate uuids for Qdrant points

  • Typ: Code
  • Funktionsbeschreibung: Teilt die Bilder in Batches auf und generiert UUIDs für sie.

Node 11: If collection exists

  • Typ: If
  • Funktionsbeschreibung: Überprüft, ob die Sammlung existiert und entscheidet basierend darauf über den weiteren Verlauf.

Node 12: Filter images (Tomatoes)

  • Typ: Filter
  • Funktionsbeschreibung: Filtert die Bilder, um nur diejenigen zu behalten, die nicht die Ernte „Tomate“ enthalten.

3. Ergebnis

Durch diesen Workflow können Nutzer effizient ihre Bilddaten in Qdrant hochladen. Diese Routine automatisiert den Prozess der Erstellung von Embeddings und des Hochladens in Qdrant. Zudem wird eine Sammlung mit definierten Eigenschaften erstellt, die anschließend für Anomalieerkennung und KNN-Klassifizierung verwendet werden kann.

Download Link: Hier klicken

Facebook
Twitter
LinkedIn

Andere Projekte