We announced the upcoming end-of-support for the AWS CLI v1. For dates, additional details, and information on how to migrate, please refer to the linked announcement. For more information see the AWS CLI version 2 installation instructions and migration guide.
Creates a recommendation job that generates intelligent optimization recommendations for generative AI inference deployments. The job analyzes your model, workload configuration, and performance targets to recommend optimal instance types, model optimization techniques (such as quantization and speculative decoding), and deployment configurations.
See also: AWS API Documentation
create-ai-recommendation-job
--ai-recommendation-job-name <value>
--model-source <value>
--output-config <value>
--ai-workload-config-identifier <value>
--performance-target <value>
--role-arn <value>
[--inference-specification <value>]
[--optimize-model | --no-optimize-model]
[--compute-spec <value>]
[--tags <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--v2-debug]
--ai-recommendation-job-name (string)
The name of the AI recommendation job. The name must be unique within your Amazon Web Services account in the current Amazon Web Services Region.
--model-source (tagged union structure)
The source of the model to optimize. Specify the Amazon S3 location of the model artifacts.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:S3.S3 -> (structure)
The Amazon S3 location of the model artifacts.
S3Uri -> (string)
The Amazon S3 URI of the model artifacts.
Shorthand Syntax:
S3={S3Uri=string}
JSON Syntax:
{
"S3": {
"S3Uri": "string"
}
}
--output-config (structure)
The output configuration for the recommendation job, including the Amazon S3 location for results and an optional model package group where the optimized model is registered.
S3OutputLocation -> (string)
The Amazon S3 URI where recommendation results are stored.ModelPackageGroupIdentifier -> (string)
The name or Amazon Resource Name (ARN) of the model package group where the optimized model is registered as a new model package version.
Shorthand Syntax:
S3OutputLocation=string,ModelPackageGroupIdentifier=string
JSON Syntax:
{
"S3OutputLocation": "string",
"ModelPackageGroupIdentifier": "string"
}
--ai-workload-config-identifier (string)
The name or Amazon Resource Name (ARN) of the AI workload configuration to use for this recommendation job.
--performance-target (structure)
The performance targets for the recommendation job. Specify constraints on metrics such as time to first token (
ttft-ms),throughput, orcost.Constraints -> (list)
An array of performance constraints that define the optimization objectives.
(structure)
A performance constraint for an AI recommendation job.
Metric -> (string)
The performance metric. Valid values arettft-ms(time to first token in milliseconds),throughput, andcost.
Shorthand Syntax:
Constraints=[{Metric=string},{Metric=string}]
JSON Syntax:
{
"Constraints": [
{
"Metric": "ttft-ms"|"throughput"|"cost"
}
...
]
}
--role-arn (string)
The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker AI to perform tasks on your behalf.
--inference-specification (structure)
The inference framework configuration. Specify the framework (such as LMI or vLLM) for the recommendation job.
Framework -> (string)
The inference framework. Valid values areLMIandVLLM.
Shorthand Syntax:
Framework=string
JSON Syntax:
{
"Framework": "LMI"|"VLLM"
}
--optimize-model | --no-optimize-model (boolean)
Whether to allow model optimization techniques such as quantization, speculative decoding, and kernel tuning. The default istrue.
--compute-spec (structure)
The compute resource specification for the recommendation job. You can specify up to 3 instance types to consider, and optionally provide capacity reservation configuration.
InstanceTypes -> (list)
The list of instance types to consider for recommendations. You can specify up to 3 instance types.
(string)
CapacityReservationConfig -> (structure)
The capacity reservation configuration.
CapacityReservationPreference -> (string)
The capacity reservation preference. The only valid value iscapacity-reservations-only.MlReservationArns -> (list)
The list of ML reservation ARNs to use.
(string)
Shorthand Syntax:
InstanceTypes=string,string,CapacityReservationConfig={CapacityReservationPreference=string,MlReservationArns=[string,string]}
JSON Syntax:
{
"InstanceTypes": ["ml.g5.xlarge"|"ml.g5.2xlarge"|"ml.g5.4xlarge"|"ml.g5.8xlarge"|"ml.g5.12xlarge"|"ml.g5.16xlarge"|"ml.g5.24xlarge"|"ml.g5.48xlarge"|"ml.g6.xlarge"|"ml.g6.2xlarge"|"ml.g6.4xlarge"|"ml.g6.8xlarge"|"ml.g6.12xlarge"|"ml.g6.16xlarge"|"ml.g6.24xlarge"|"ml.g6.48xlarge"|"ml.g6e.xlarge"|"ml.g6e.2xlarge"|"ml.g6e.4xlarge"|"ml.g6e.8xlarge"|"ml.g6e.12xlarge"|"ml.g6e.16xlarge"|"ml.g6e.24xlarge"|"ml.g6e.48xlarge"|"ml.g7e.2xlarge"|"ml.g7e.4xlarge"|"ml.g7e.8xlarge"|"ml.g7e.12xlarge"|"ml.g7e.24xlarge"|"ml.g7e.48xlarge"|"ml.p3.2xlarge"|"ml.p3.8xlarge"|"ml.p3.16xlarge"|"ml.p4d.24xlarge"|"ml.p4de.24xlarge"|"ml.p5.4xlarge"|"ml.p5.48xlarge"|"ml.p5e.48xlarge"|"ml.p5en.48xlarge", ...],
"CapacityReservationConfig": {
"CapacityReservationPreference": "capacity-reservations-only",
"MlReservationArns": ["string", ...]
}
}
--tags (list)
The metadata that you apply to Amazon Web Services resources to help you categorize and organize them.
(structure)
A tag object that consists of a key and an optional value, used to manage metadata for SageMaker Amazon Web Services resources.
You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints. For more information on adding tags to SageMaker resources, see AddTags .
For more information on adding metadata to your Amazon Web Services resources with tagging, see Tagging Amazon Web Services resources . For advice on best practices for managing Amazon Web Services resources with tagging, see Tagging Best Practices: Implement an Effective Amazon Web Services Resource Tagging Strategy .
Key -> (string)
The tag key. Tag keys must be unique per resource.Value -> (string)
The tag value.
Shorthand Syntax:
Key=string,Value=string ...
JSON Syntax:
[
{
"Key": "string",
"Value": "string"
}
...
]
--cli-input-json (string)
Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally.
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.
--debug (boolean)
Turn on debug logging.
--endpoint-url (string)
Override command’s default URL with the given URL.
--no-verify-ssl (boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate (boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output (string)
The formatting style for command output.
--query (string)
A JMESPath query to use in filtering the response data.
--profile (string)
Use a specific profile from your credential file.
--region (string)
The region to use. Overrides config/env settings.
--version (string)
Display the version of this tool.
--color (string)
Turn on/off color output.
--no-sign-request (boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle (string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout (int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout (int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
--v2-debug (boolean)
Enable AWS CLI v2 migration assistance. Prints warnings if the command would face a breaking change after swapping AWS CLI v1 for AWS CLI v2 in the current environment. Prints one warning for each breaking change detected.
AIRecommendationJobArn -> (string)
The Amazon Resource Name (ARN) of the created recommendation job.