Skip to content

Bedrock  >  Operations  >  create_custom_model

create_custom_model

Operation

create_custom_model async

create_custom_model(input: CreateCustomModelInput, plugins: list[Plugin] | None = None) -> CreateCustomModelOutput

Creates a new custom model in Amazon Bedrock. After the model is active, you can use it for inference.

You can provide the model data source in one of the following ways:

  • customModelDataSource --- Specify a SageMaker AI model package ARN. Amazon Bedrock resolves the model package to retrieve the model artifacts. This is the preferred method for new SageMaker AI training outputs.

  • modelSourceConfig --- Specify an Amazon S3 URI pointing to the Amazon-managed Amazon S3 bucket containing your model artifacts.

To use the model for inference, you must purchase Provisioned Throughput for it. You can't use On-demand inference with these custom models. For more information about Provisioned Throughput, see Provisioned Throughput.

The model appears in ListCustomModels with a customizationType of imported. To track the status of the new model, you use the GetCustomModel API operation. The model can be in the following states:

  • Creating - Initial state during validation and registration

  • Active - Model is ready for use in inference

  • Failed - Creation process encountered an error

Related APIs

Parameters:

Name Type Description Default
input CreateCustomModelInput

An instance of CreateCustomModelInput.

required
plugins list[Plugin] | None

A list of callables that modify the configuration dynamically. Changes made by these plugins only apply for the duration of the operation execution and will not affect any other operation invocations.

None

Returns:

Type Description
CreateCustomModelOutput

An instance of CreateCustomModelOutput.

Input

CreateCustomModelInput dataclass

Dataclass for CreateCustomModelInput structure.

Attributes

client_request_token class-attribute instance-attribute
client_request_token: str | None = None

A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request, but does not return an error. For more information, see Ensuring idempotency.

custom_model_data_source class-attribute instance-attribute
custom_model_data_source: CustomModelDataSource | None = None

The data source for the custom model. Use this field to specify a SageMaker AI model package ARN as the source for your custom model. Amazon Bedrock resolves the model package to retrieve the model artifacts.

You can specify either customModelDataSource or modelSourceConfig, but not both.

model_kms_key_arn class-attribute instance-attribute
model_kms_key_arn: str | None = None

The Amazon Resource Name (ARN) of the customer managed KMS key to encrypt the custom model. If you don't provide a KMS key, Amazon Bedrock uses an Amazon Web Services-managed KMS key to encrypt the model.

If you provide a customer managed KMS key, your Amazon Bedrock service role must have permissions to use it. For more information see Encryption of imported models.

model_name class-attribute instance-attribute
model_name: str | None = None

A unique name for the custom model.

model_source_config class-attribute instance-attribute
model_source_config: ModelDataSource | None = None

The data source for the model. The Amazon S3 URI in the model source must be for the Amazon-managed Amazon S3 bucket containing your model artifacts.

model_tags class-attribute instance-attribute
model_tags: list[Tag] | None = None

A list of key-value pairs to associate with the custom model resource. You can use these tags to organize and identify your resources.

For more information, see Tagging resources in the Amazon Bedrock User Guide.

role_arn class-attribute instance-attribute
role_arn: str | None = None

The Amazon Resource Name (ARN) of an IAM service role that Amazon Bedrock assumes to perform tasks on your behalf. This role must have permissions to access the Amazon S3 bucket containing your model artifacts and the KMS key (if specified). For more information, see Setting up an IAM service role for importing models in the Amazon Bedrock User Guide.

This field is required when you use modelSourceConfig with an Amazon S3 data source. It is not required when you use customModelDataSource with a model package ARN, because Amazon Bedrock uses its own credentials to access the model artifacts.

Output

CreateCustomModelOutput dataclass

Dataclass for CreateCustomModelOutput structure.

Attributes

model_arn instance-attribute
model_arn: str

The Amazon Resource Name (ARN) of the new custom model.