Cree un punto de conexión multicontenedor llamando a las API CreateModel, CreateEndpointConfig y CreateEndpoint como lo haría para crear cualquier otro punto de conexión. Puede ejecutar estos contenedores secuencialmente como una canalización de inferencia o ejecutar cada contenedor individual mediante la invocación directa. Los puntos de conexión multicontenedor tienen los siguientes requisitos cuando llama: create_model
-
Utilice el parámetro
Containers
en lugar dePrimaryContainer
e incluya más de un contenedor en el parámetroContainers
. -
El
ContainerHostname
parámetro es obligatorio para cada contenedor en un punto de conexión multicontenedor con invocación directa. -
Defina el parámetro
Mode
del campoInferenceExecutionConfig
enDirect
para la invocación directa de cada contenedor oSerial
para utilizarlos como una canalización de inferencia. El modo predeterminado esSerial
.
nota
Actualmente, hay un límite de hasta 15 contenedores admitidos en un punto de conexión multicontenedor.
En el siguiente ejemplo, se crea un modelo multicontenedor para la invocación directa.
-
Cree elementos contenedores y
InferenceExecutionConfig
con invocación directa.container1 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage1:mytag', 'ContainerHostname': 'firstContainer' } container2 = { 'Image': '123456789012.dkr.ecr.us-east-1.amazonaws.com/myimage2:mytag', 'ContainerHostname': 'secondContainer' } inferenceExecutionConfig = {'Mode': 'Direct'}
-
Cree el modelo con los elementos contenedores y establece el campo
InferenceExecutionConfig
.import boto3 sm_client = boto3.Session().client('sagemaker') response = sm_client.create_model( ModelName = 'my-direct-mode-model-name', InferenceExecutionConfig = inferenceExecutionConfig, ExecutionRoleArn = role, Containers = [container1, container2] )
Para crear un punto de conexión, debe llamar a create_endpoint_config