

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Implementieren Sie eine generative KI-Inferenzempfehlung
<a name="generative-ai-inference-recommendations-deploy"></a>

Wenn ein Empfehlungsauftrag abgeschlossen ist, umfasst jede Empfehlung eine einsatzbereite Konfiguration. Sie können die gewählte Konfiguration mit einer einzigen Aktion von SageMaker AI Studio aus oder programmgesteuert über die API auf einem SageMaker AI-Inferenzendpunkt bereitstellen.

## Bereitstellungskonfigurationen verstehen
<a name="generative-ai-inference-recommendations-deploy-overview"></a>

Jede Empfehlung in der Jobantwort enthält ein `DeploymentConfiguration` Objekt mit den folgenden Informationen:

`ImageUri`  
Der Container-Image-URI ist für den empfohlenen Instance-Typ optimiert.

`InstanceType`  
Der empfohlene Instanztyp für die Bereitstellung.

`InstanceCount`  
Die Anzahl der Instanzen, die benötigt werden, um das Leistungsziel zu erreichen.

`CopyCountPerInstance`  
Die Anzahl der Modellkopien, die pro Instanz ausgeführt werden sollen. Bei einem Wert größer als eins werden mehrere Kopien des Modells auf jede Instanz geladen, um den Durchsatz zu erhöhen.

`EnvironmentVariables`  
Umgebungsvariablen, die für eine optimale Leistung konfiguriert sind, wie z. B. die parallel Größe des Tensors und die maximale Sequenzlänge.

`S3`  
S3-Kanalreferenzen für Modellartefakte, einschließlich aller optimierten Modellausgaben.

## Mithilfe der API bereitstellen
<a name="generative-ai-inference-recommendations-deploy-api"></a>

Um eine Empfehlung programmgesteuert bereitzustellen, verwenden Sie das Modellpaket aus der Empfehlung, um ein SageMaker KI-Modell und einen KI-Endpunkt zu erstellen. Jede Empfehlung enthält ein `ModelDetails` Objekt mit dem Modellpaket-ARN und dem Namen der Inferenzspezifikation. Dies ist der einfachste Bereitstellungspfad, da das Modellpaket bereits das Container-Image, die Umgebungsvariablen und die Modellartefakt-Kanäle enthält.

```
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.")
```

Nachdem der Endpunkt erstellt wurde, können Sie seinen Status mithilfe der `DescribeEndpoint` API überwachen, bis er den `InService` Status erreicht.

```
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)
```

## Von SageMaker AI Studio aus bereitstellen
<a name="generative-ai-inference-recommendations-deploy-studio"></a>

Sie können eine empfohlene Konfiguration auch direkt von SageMaker AI Studio aus mit einer einzigen Aktion bereitstellen. Navigieren Sie in SageMaker AI Studio zum abgeschlossenen Empfehlungsjob, überprüfen Sie die Empfehlungen und ihre Leistungskennzahlen und wählen Sie die Konfiguration aus, die Sie bereitstellen möchten.