This invokes the create job Lambda function. AWS Lambda functions provide logic for API methods exposed via Amazon API Gateway. These allow jobs to be created and monitored, and facilitate the retrieval of results. AWS Cloud Amazon API Gateway Stream AWS Step Functions workflow Control plane Amazon Cognito user pool create job cancel job get job status get job results Amazon Simple Storage Service (Amazon S3) Data plane Inference plane Workflow plane Amazon SageMaker endpoint validate job request get data get endpoints Invoke endpoint store result parse and process results store final results Amazon DynamoDB job status table endpoint metadata table Amazon SageMaker endpoint Users 1 2 3 4 5 The new item in the table triggers a DynamoDB stream which in turn triggers the AWS Step Functions workflow for inference. 6 The AWS Step Functions workflow orchestrates all the steps required run-multiple ML inference jobs against the provided data object. 7 Metadata information about the ML endpoints is stored in a DynamoDBtable for use in the workflow. 8 A map state is used in the step function to call each ML endpoint and store the results in parallel, allowing the workflow to scale to any number of ML endpoint invocations. 9 Amazon SageMaker model endpoints are used to host the ML models. These are invoked by the workflow per category. 10 The final results of all the ML insights gathered for the data are stored for future use in Amazon S3. 11 11 Once the workflow is complete, the final results can be retrieved by users through a GET request to /get-job-results. This invokes the get job Results Lambdafunction, which reads the S3 bucket and retrieves the inference results. 12 12 Multi-model endpoints can be used to extend each model type with extra optimizations, such languagespecific inference per category.