

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Implemente uma recomendação generativa de inferência de IA
<a name="generative-ai-inference-recommendations-deploy"></a>

Quando um trabalho de recomendação é concluído, cada recomendação inclui uma configuração pronta para implantação. Você pode implantar a configuração escolhida em um endpoint de inferência de SageMaker IA com uma única ação do SageMaker AI Studio ou programaticamente por meio da API.

## Entendendo as configurações de implantação
<a name="generative-ai-inference-recommendations-deploy-overview"></a>

Cada recomendação na resposta do trabalho contém um `DeploymentConfiguration` objeto com as seguintes informações:

`ImageUri`  
O URI da imagem do contêiner otimizado para o tipo de instância recomendado.

`InstanceType`  
O tipo de instância recomendado para implantação.

`InstanceCount`  
O número de instâncias necessárias para atingir a meta de desempenho.

`CopyCountPerInstance`  
O número de cópias do modelo a serem executadas por instância. Quando definido com um valor maior que um, várias cópias do modelo são carregadas em cada instância para aumentar a taxa de transferência.

`EnvironmentVariables`  
Variáveis de ambiente configuradas para desempenho ideal, como tamanho paralelo do tensor e comprimento máximo da sequência.

`S3`  
Referências de canais S3 para artefatos de modelo, incluindo qualquer saída de modelo otimizada.

## Implemente usando a API
<a name="generative-ai-inference-recommendations-deploy-api"></a>

Para implantar uma recomendação programaticamente, use o pacote de modelos da recomendação para criar um modelo de SageMaker IA e um endpoint. Cada recomendação inclui um `ModelDetails` objeto com o ARN do pacote de modelos e o nome da especificação de inferência. Esse é o caminho de implantação mais simples porque o pacote do modelo já contém a imagem do contêiner, as variáveis de ambiente e os canais do artefato do modelo.

```
import boto3

client = boto3.client("sagemaker", region_name="us-west-2")

# Get the recommendation from a completed job
response = client.describe_ai_recommendation_job(
    AIRecommendationJobName="my-recommendation-job"
)

# Select a recommendation (e.g., the first one)
recommendation = response["Recommendations"][0]
model_details = recommendation["ModelDetails"]
deploy_config = recommendation["DeploymentConfiguration"]

# Create a model from the model package.
# The model package already contains the container image, environment
# variables, and S3 data channels (base model + optimization artifacts).
model_name = "my-recommended-model"
container_def = {
    "ModelPackageName": model_details["ModelPackageArn"],
}
# If the recommendation uses a named inference specification (e.g., for
# a specific optimization variant), specify it so SageMaker selects the
# correct container and instance configuration from the model package.
if model_details.get("InferenceSpecificationName"):
    container_def["InferenceSpecificationName"] = model_details["InferenceSpecificationName"]

client.create_model(
    ModelName=model_name,
    PrimaryContainer=container_def,
    ExecutionRoleArn="arn:aws:iam::111122223333:role/ExampleRole",
)

# Create an endpoint configuration
endpoint_config_name = "my-recommended-endpoint-config"
production_variant = {
    "VariantName": "AllTraffic",
    "ModelName": model_name,
    "InstanceType": deploy_config["InstanceType"],
    "InitialInstanceCount": deploy_config.get("InstanceCount", 1),
}
copy_count = deploy_config.get("CopyCountPerInstance")
if copy_count and copy_count > 1:
    production_variant["InferenceAmiVersion"] = "al2-ami-sagemaker-inference-gpu-2"
    production_variant["RoutingConfig"] = {"RoutingStrategy": "LEAST_OUTSTANDING_REQUESTS"}

client.create_endpoint_config(
    EndpointConfigName=endpoint_config_name,
    ProductionVariants=[production_variant],
)

# Create the endpoint
endpoint_name = "my-recommended-endpoint"
client.create_endpoint(
    EndpointName=endpoint_name,
    EndpointConfigName=endpoint_config_name,
)
print(f"Endpoint {endpoint_name} is being created.")
```

Depois que o endpoint for criado, você poderá monitorar seu status usando a `DescribeEndpoint` API até que ele atinja o `InService` status.

```
import time

while True:
    response = client.describe_endpoint(EndpointName=endpoint_name)
    status = response["EndpointStatus"]
    print(f"Endpoint status: {status}")
    if status in ("InService", "Failed"):
        break
    time.sleep(60)
```

## Implemente a partir do SageMaker AI Studio
<a name="generative-ai-inference-recommendations-deploy-studio"></a>

Você também pode implantar uma configuração recomendada diretamente do SageMaker AI Studio com uma única ação. No SageMaker AI Studio, navegue até o trabalho de recomendação concluído, analise as recomendações e suas métricas de desempenho e escolha a configuração que você deseja implantar.