import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateAIRecommendationJobRequest, CreateAIRecommendationJobResponse } from "../models/models_1"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateAIRecommendationJobCommand}. */ export interface CreateAIRecommendationJobCommandInput extends CreateAIRecommendationJobRequest { } /** * @public * * The output of {@link CreateAIRecommendationJobCommand}. */ export interface CreateAIRecommendationJobCommandOutput extends CreateAIRecommendationJobResponse, __MetadataBearer { } declare const CreateAIRecommendationJobCommand_base: { new (input: CreateAIRecommendationJobCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateAIRecommendationJobCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { SageMakerClient, CreateAIRecommendationJobCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import * // const { SageMakerClient, CreateAIRecommendationJobCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import * // import type { SageMakerClientConfig } from "@aws-sdk/client-sagemaker"; * const config = {}; // type is SageMakerClientConfig * const client = new SageMakerClient(config); * const input = { // CreateAIRecommendationJobRequest * AIRecommendationJobName: "STRING_VALUE", // required * ModelSource: { // AIModelSource Union: only one key present * S3: { // AIModelSourceS3 * S3Uri: "STRING_VALUE", * }, * }, * OutputConfig: { // AIRecommendationOutputConfig * S3OutputLocation: "STRING_VALUE", * ModelPackageGroupIdentifier: "STRING_VALUE", * MlflowConfig: { // AIMlflowConfig * MlflowResourceArn: "STRING_VALUE", // required * MlflowExperimentName: "STRING_VALUE", * MlflowRunName: "STRING_VALUE", * }, * }, * AIWorkloadConfigIdentifier: "STRING_VALUE", // required * PerformanceTarget: { // AIRecommendationPerformanceTarget * Constraints: [ // AIRecommendationConstraintList // required * { // AIRecommendationConstraint * Metric: "ttft-ms" || "throughput" || "cost", // required * }, * ], * }, * RoleArn: "STRING_VALUE", // required * InferenceSpecification: { // AIRecommendationInferenceSpecification * Framework: "LMI" || "VLLM", * }, * OptimizeModel: true || false, * ComputeSpec: { // AIRecommendationComputeSpec * InstanceTypes: [ // AIRecommendationInstanceTypeList * "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.g7.2xlarge" || "ml.g7.4xlarge" || "ml.g7.8xlarge" || "ml.g7.12xlarge" || "ml.g7.24xlarge" || "ml.g7.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" || "ml.p6-b200.48xlarge", * ], * CapacityReservationConfig: { // AICapacityReservationConfig * CapacityReservationPreference: "capacity-reservations-only", * MlReservationArns: [ // AIMlReservationArnList * "STRING_VALUE", * ], * }, * }, * AdapterSource: { // AIAdapterSource Union: only one key present * ModelPackageArns: [ // AIAdapterModelPackageEntryList * { // AIAdapterModelPackageEntry * AdapterId: "STRING_VALUE", // required * ModelPackageArn: "STRING_VALUE", // required * }, * ], * S3Uris: [ // AIAdapterS3EntryList * { // AIAdapterS3Entry * AdapterId: "STRING_VALUE", // required * S3Uri: "STRING_VALUE", // required * }, * ], * }, * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateAIRecommendationJobCommand(input); * const response = await client.send(command); * // { // CreateAIRecommendationJobResponse * // AIRecommendationJobArn: "STRING_VALUE", // required * // }; * * ``` * * @param CreateAIRecommendationJobCommandInput - {@link CreateAIRecommendationJobCommandInput} * @returns {@link CreateAIRecommendationJobCommandOutput} * @see {@link CreateAIRecommendationJobCommandInput} for command's `input` shape. * @see {@link CreateAIRecommendationJobCommandOutput} for command's `response` shape. * @see {@link SageMakerClientResolvedConfig | config} for SageMakerClient's `config` shape. * * @throws {@link ResourceInUse} (client fault) *

Resource being accessed is in use.

* * @throws {@link ResourceLimitExceeded} (client fault) *

You have exceeded an SageMaker resource limit. For example, you might have too many training jobs created.

* * @throws {@link ResourceNotFound} (client fault) *

Resource being access is not found.

* * @throws {@link SageMakerServiceException} *

Base exception class for all service exceptions from SageMaker service.

* * * @public */ export declare class CreateAIRecommendationJobCommand extends CreateAIRecommendationJobCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateAIRecommendationJobRequest; output: CreateAIRecommendationJobResponse; }; sdk: { input: CreateAIRecommendationJobCommandInput; output: CreateAIRecommendationJobCommandOutput; }; }; }