Skip to content

Flywheel ​

The Flywheel resource allows you to manage AWS Comprehend Flywheels which are used for automating the model training and deployment process in AWS Comprehend.

Minimal Example ​

Create a basic Flywheel with required properties and a common optional property.

ts
import AWS from "alchemy/aws/control";

const flywheel = await AWS.Comprehend.Flywheel("myFlywheel", {
  DataLakeS3Uri: "s3://my-comprehend-data-lake",
  DataAccessRoleArn: "arn:aws:iam::123456789012:role/MyComprehendRole",
  FlywheelName: "MyComprehendFlywheel",
  ModelType: "NER" // Named Entity Recognition
});

Advanced Configuration ​

Configure a Flywheel with additional properties for task configuration and data security.

ts
const advancedFlywheel = await AWS.Comprehend.Flywheel("advancedFlywheel", {
  DataLakeS3Uri: "s3://my-comprehend-data-lake",
  DataAccessRoleArn: "arn:aws:iam::123456789012:role/MyComprehendRole",
  FlywheelName: "AdvancedComprehendFlywheel",
  ModelType: "CUSTOM",
  TaskConfig: {
    DocumentClassifier: {
      DocumentClassifierArn: "arn:aws:comprehend:us-east-1:123456789012:document-classifier/MyClassifier"
    }
  },
  DataSecurityConfig: {
    DataAccessRoleArn: "arn:aws:iam::123456789012:role/MyDataAccessRole",
    KmsKeyId: "arn:aws:kms:us-east-1:123456789012:key/my-kms-key"
  },
  Tags: [
    { Key: "Project", Value: "ComprehendDemo" },
    { Key: "Environment", Value: "Production" }
  ]
});

Using an Active Model ​

Create a Flywheel and specify an active model ARN to utilize an existing trained model.

ts
const flywheelWithActiveModel = await AWS.Comprehend.Flywheel("flywheelWithActiveModel", {
  DataLakeS3Uri: "s3://my-comprehend-data-lake",
  DataAccessRoleArn: "arn:aws:iam::123456789012:role/MyComprehendRole",
  FlywheelName: "FlywheelWithActiveModel",
  ActiveModelArn: "arn:aws:comprehend:us-east-1:123456789012:model/MyActiveModel"
});