Calculate the centroid of a set of vectors
n8n Workflow: Calculate the Centroid of a Set of Vectors Overview This workflow receives an array of vectors in JSON format, validates that all vectors have the same dimensions, and computes the centroid. It is design...
Template notes
n8n Workflow: Calculate the Centroid of a Set of Vectors
Overview This workflow receives an array of vectors in JSON format, validates that all vectors have the same dimensions, and computes the centroid. It is designed to be reusable across different projects.
Workflow Structure Nodes and Their Functions: 1. Receive Vectors (Webhook): Accepts a GET request containing an array of vectors in the vectors parameter. - Expected Input: vectors parameter in JSON format. - Example Request: /webhook/centroid?vectors=[[2,3,4],[4,5,6],[6,7,8]] - Output: Passes the received data to the next node.
2. Extract & Parse Vectors (Set Node): Converts the input string into a proper JSON array for processing. - Ensures vectors is a valid array. - If the parameter is missing, it may generate an error. - Expected Output Example: json { "vectors": [[2,3,4],[4,5,6],[6,7,8]] }
3. Validate & Compute Centroid (Code Node): Validates vector dimensions and calculates the centroid. - Validation: Ensures all vectors have the same number of dimensions. - Computation: Averages each dimension to determine the centroid. - If validation fails: Returns an error message indicating inconsistent dimensions. - Successful Output Example: json { "centroid": [4,5,6] } - Error Output Example: json { "error": "Vectors have inconsistent dimensions." }
4. Return Centroid Response (Respond to Webhook Node): Sends the final response back to the client. - If the computation is successful, it returns the centroid. - If an error occurs, it returns a descriptive error message. - Example Response: json { "centroid": [4, 5, 6] }
Inputs - JSON array of vectors, where each vector is an array of numerical values.
Example Input json { "vectors": [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] }