

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Implemente una recomendación de inferencia de IA generativa
<a name="generative-ai-inference-recommendations-deploy"></a>

Cuando se completa un trabajo de recomendación, cada recomendación incluye una configuración lista para la implementación. Puede implementar la configuración elegida en un punto final de inferencia de SageMaker IA con una sola acción desde SageMaker AI Studio o mediante programación a través de la API.

## Entender las configuraciones de despliegue
<a name="generative-ai-inference-recommendations-deploy-overview"></a>

Cada recomendación de la respuesta al trabajo contiene un `DeploymentConfiguration` objeto con la siguiente información:

`ImageUri`  
El URI de la imagen del contenedor está optimizado para el tipo de instancia recomendado.

`InstanceType`  
El tipo de instancia recomendado para la implementación.

`InstanceCount`  
La cantidad de instancias necesarias para cumplir el objetivo de rendimiento.

`CopyCountPerInstance`  
El número de copias del modelo que se van a ejecutar por instancia. Cuando se establece en un valor superior a uno, se cargan varias copias del modelo en cada instancia para aumentar el rendimiento.

`EnvironmentVariables`  
Variables de entorno configuradas para un rendimiento óptimo, como el tamaño paralelo del tensor y la longitud máxima de la secuencia.

`S3`  
Referencias de canales S3 para artefactos del modelo, incluida cualquier salida optimizada del modelo.

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

Para implementar una recomendación mediante programación, usa el paquete de modelos de la recomendación para crear un modelo y un punto final de SageMaker IA. Cada recomendación incluye un `ModelDetails` objeto con el ARN del paquete del modelo y el nombre de la especificación de inferencia. Esta es la ruta de despliegue más sencilla porque el paquete del modelo ya contiene la imagen del contenedor, las variables de entorno y los canales de artefactos del 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.")
```

Una vez creado el punto final, puede supervisar su estado mediante la `DescribeEndpoint` API hasta que alcance el `InService` estado.

```
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 desde SageMaker AI Studio
<a name="generative-ai-inference-recommendations-deploy-studio"></a>

También puedes implementar una configuración recomendada directamente desde SageMaker AI Studio con una sola acción. En SageMaker AI Studio, navega hasta el trabajo de recomendación completado, revisa las recomendaciones y sus métricas de rendimiento, y elige la configuración que deseas implementar.