Criar uma configuração de endpoint
Quando tiver um modelo, crie uma configuração de endpoint com CreateEndpointConfig
. Os serviços de hospedagem do Amazon SageMaker usam esta configuração para implantar modelos. Na configuração, você identifica um ou mais modelos, criados usando a API CreateModel
, para implantar os recursos que você deseja que o Amazon SageMaker provisione. Especifique o objeto AsyncInferenceConfig
e forneça uma localização de saída do Amazon S3 para OutputConfig
. Opcionalmente, você pode especificar tópicos do Amazon SNS sobre os quais enviar notificações sobre os resultados da predição. Para obter mais informações sobre tópicos do Amazon SNS, consulte o Configurando o Amazon SNS.
O seguinte exemplo mostra como criar uma configuração de endpoint usando AWS SDK for Python (Boto3):
import datetime from time import gmtime, strftime # Create an endpoint config name. Here we create one based on the date # so it we can search endpoints based on creation time. endpoint_config_name = f"XGBoostEndpointConfig-{strftime('%Y-%m-%d-%H-%M-%S', gmtime())}" # The name of the model that you want to host. This is the name that you specified when creating the model. model_name=
'<The_name_of_your_model>'
create_endpoint_config_response = sagemaker_client.create_endpoint_config( EndpointConfigName=endpoint_config_name, # You will specify this name in a CreateEndpoint request. # List of ProductionVariant objects, one for each model that you want to host at this endpoint. ProductionVariants=[ { "VariantName":"variant1"
, # The name of the production variant. "ModelName": model_name, "InstanceType":"ml.m5.xlarge"
, # Specify the compute instance type. "InitialInstanceCount":1
# Number of instances to launch initially. } ], AsyncInferenceConfig={ "OutputConfig": { # Location to upload response outputs when no location is provided in the request. "S3OutputPath": f"s3://{s3_bucket}/{bucket_prefix}/output" # (Optional) specify Amazon SNS topics "NotificationConfig": { "SuccessTopic": "arn:aws:sns:aws-region:account-id:topic-name
", "ErrorTopic": "arn:aws:sns:aws-region:account-id:topic-name
", } }, "ClientConfig": { # (Optional) Specify the max number of inflight invocations per instance # If no value is provided, Amazon SageMaker will choose an optimal value for you "MaxConcurrentInvocationsPerInstance": 4 } } ) print(f"Created EndpointConfig: {create_endpoint_config_response['EndpointConfigArn']}")
No exemplo acima mencionado, você especifica as seguintes chaves para OutputConfig
no campo AsyncInferenceConfig
:
S3OutputPath
: Local para fazer upload das saídas de resposta quando nenhum local é fornecido na solicitação.NotificationConfig
: (Opcional) Tópicos do SNS que publicam notificações para você quando uma solicitação de inferência é bem-sucedida (SuccessTopic
) ou falha (ErrorTopic
).
Você também pode especificar o seguinte argumento opcional para ClientConfig
no campo AsyncInferenceConfig
:
MaxConcurrentInvocationsPerInstance
: (Opcional) O número máximo de solicitações simultâneas enviadas pelo cliente do SageMaker ao contêiner do modelo.