{
  "openruna_format": "flow-graph-v1",
  "title": "[1/3 - anomaly detection] [1/2 - KNN classification] Batch upload dataset to Qdrant (crops dataset)",
  "slug": "13-anomaly-detection-12-knn-classification-batch-upload-dataset-to-qdrant-crops-dataset-2",
  "source_filename": "1728_Code_Filter_Import_Webhook.json",
  "nodes": [
    {
      "id": "When clicking ‘Test workflow’",
      "name": "When clicking ‘Test workflow’",
      "integration": "manual",
      "kind": "trigger"
    },
    {
      "id": "Google Cloud Storage",
      "name": "Google Cloud Storage",
      "integration": "googleCloudStorage",
      "kind": "action"
    },
    {
      "id": "Get fields for Qdrant",
      "name": "Get fields for Qdrant",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Qdrant cluster variables",
      "name": "Qdrant cluster variables",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Embed crop image",
      "name": "Embed crop image",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Create Qdrant Collection",
      "name": "Create Qdrant Collection",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Check Qdrant Collection Existence",
      "name": "Check Qdrant Collection Existence",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Batches in the API's format",
      "name": "Batches in the API's format",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Batch Upload to Qdrant",
      "name": "Batch Upload to Qdrant",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Split in batches, generate uuids for Qdrant points",
      "name": "Split in batches, generate uuids for Qdrant points",
      "integration": "code",
      "kind": "logic"
    },
    {
      "id": "If collection exists",
      "name": "If collection exists",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Payload index on crop_name",
      "name": "Payload index on crop_name",
      "integration": "httpRequest",
      "kind": "action"
    },
    {
      "id": "Filtering out tomato to test anomalies",
      "name": "Filtering out tomato to test anomalies",
      "integration": "filter",
      "kind": "logic"
    }
  ],
  "edges": [
    {
      "from": "Embed crop image",
      "to": "Batch Upload to Qdrant"
    },
    {
      "from": "Google Cloud Storage",
      "to": "Get fields for Qdrant"
    },
    {
      "from": "If collection exists",
      "to": "Google Cloud Storage"
    },
    {
      "from": "If collection exists",
      "to": "Create Qdrant Collection"
    },
    {
      "from": "Get fields for Qdrant",
      "to": "Filtering out tomato to test anomalies"
    },
    {
      "from": "Create Qdrant Collection",
      "to": "Payload index on crop_name"
    },
    {
      "from": "Qdrant cluster variables",
      "to": "Check Qdrant Collection Existence"
    },
    {
      "from": "Payload index on crop_name",
      "to": "Google Cloud Storage"
    },
    {
      "from": "Batches in the API's format",
      "to": "Embed crop image"
    },
    {
      "from": "Check Qdrant Collection Existence",
      "to": "If collection exists"
    },
    {
      "from": "When clicking ‘Test workflow’",
      "to": "Qdrant cluster variables"
    },
    {
      "from": "Filtering out tomato to test anomalies",
      "to": "Split in batches, generate uuids for Qdrant points"
    },
    {
      "from": "Split in batches, generate uuids for Qdrant points",
      "to": "Batches in the API's format"
    }
  ]
}