AksWebservice Clase

Representa un modelo de Machine Learning implementado como punto de conexión de servicio web en Azure Kubernetes Service.

Un servicio implementado se crea a partir de un modelo, un script y los archivos asociados. El servicio web resultante es un punto de conexión HTTP con equilibrio de carga con una API REST. Puede enviar datos a esta API y recibir la predicción que devuelve el modelo.

AksWebservice implementa un único servicio en un punto de conexión. Para implementar varios servicios en un punto de conexión, use la clase AksEndpoint.

Para más información, consulte el documento Implementación de un modelo en el clúster de Azure Kubernetes Service.

Inicialice la instancia del servicio web.

El constructor webservice recupera una representación en la nube de un objeto Webservice asociado al área de trabajo proporcionada. Devolverá una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado.

Herencia
AksWebservice

Constructor

AksWebservice(workspace, name)

Parámetros

workspace
Workspace
Requerido

Objeto Workspace que contiene el objeto Webservice que se va a recuperar.

name
str
Requerido

Nombre del objeto Webservice que se va a recuperar.

Comentarios

El patrón de implementación recomendado es crear un objeto de configuración de implementación con el método deploy_configuration y luego usarlo con el método deploy de la clase Model como se muestra a continuación.


   # Set the web service configuration (using default here)
   aks_config = AksWebservice.deploy_configuration()

   # # Enable token auth and disable (key) auth on the webservice
   # aks_config = AksWebservice.deploy_configuration(token_auth_enabled=True, auth_enabled=False)

El ejemplo completo está disponible en https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb.

Hay varias maneras de implementar un modelo como un servicio web, entre las cuales se incluyen las siguientes:

  • Método deploy de Model para los modelos ya registrados en el área de trabajo.

  • Método deploy_from_image de Webservice.

  • Método deploy_from_model de Webservice para los modelos ya registrados en el área de trabajo. Este método creará una imagen.

  • Método deploy de Webservice, que registrará un modelo y creará una imagen.

Para obtener información sobre cómo trabajar con servicios web, consulte

En la sección Variables se enumeran los atributos de una representación local del objeto AksWebservice en la nube. Estas variables se deben considerar de solo lectura. El cambio de sus valores no se reflejará en el objeto de nube correspondiente.

Variables

enable_app_insights
bool

Si el registro de AppInsights está habilitado o no para Webservice.

autoscaler
AutoScaler

Objeto Autoscaler para Webservice.

compute_name
str

Nombre de ComputeTarget en el que se implementa Webservice.

container_resource_requirements
ContainerResourceRequirements

Requisitos de recursos de contenedor para Webservice.

liveness_probe_requirements
LivenessProbeRequirements

Requisitos de sondeo de ejecución para Webservice.

data_collection
DataCollection

Objeto DataCollection para Webservice.

max_concurrent_requests_per_container
int

Número máximo de solicitudes simultáneas por contenedor para Webservice.

max_request_wait_time
int

Tiempo máximo de espera de solicitud para Webservice, en milisegundos.

num_replicas
int

Número de réplicas para Webservice. Cada réplica corresponde a un pod de AKS.

scoring_timeout_ms
int

Tiempo de espera de puntuación para Webservice, en milisegundos.

azureml.core.webservice.AksWebservice.scoring_uri
str

Punto de conexión de puntuación para Webservice.

is_default
bool

Si Webservice es la versión predeterminada para el AksEndpoint primario.

traffic_percentile
int

Qué porcentaje de tráfico se enruta a Webservice en el AksEndpoint primario.

version_type
VersionType

Tipo de versión de Webservice en el AksEndpoint primario.

token_auth_enabled
bool

Si la autenticación de token está habilitada o no para Webservice.

environment
Environment

Objeto Environment que se usó para crear Webservice.

azureml.core.webservice.AksWebservice.models
list[Model]

Lista de modelos implementados en Webservice.

deployment_status
str

Estado de implementación de Webservice.

namespace
str

Espacio de nombres de AKS de Webservice.

azureml.core.webservice.AksWebservice.swagger_uri
str

Punto de conexión de swagger para Webservice.

Métodos

add_properties

Agrega pares clave-valor al diccionario de propiedades de este Webservice.

add_tags

Agregue pares clave-valor al diccionario de etiquetas de este Webservice.

Genera WebserviceException.

deploy_configuration

Crea un objeto de configuración para la implementación en un destino de proceso de AKS.

get_access_token

Recupera el token de autenticación para este Webservice.

get_token

EN DESUSO. Use el método get_access_token en su lugar.

Recupera el token de autenticación para este Webservice.

remove_tags

Quita las claves especificadas del diccionario de etiquetas de este Webservice.

run

Llama a este Webservice con la entrada proporcionada.

serialize

Convierte este Webservice en un diccionario serializado JSON.

update

Actualiza Webservice con las propiedades proporcionadas.

Los valores que se dejan como None permanecerán sin cambios en este Webservice.

add_properties

Agrega pares clave-valor al diccionario de propiedades de este Webservice.

add_properties(properties)

Parámetros

properties
dict[str, str]
Requerido

Diccionario de las propiedades que se van a agregar.

add_tags

Agregue pares clave-valor al diccionario de etiquetas de este Webservice.

Genera WebserviceException.

add_tags(tags)

Parámetros

tags
dict[str, str]
Requerido

Diccionario de las etiquetas que se van a agregar.

Excepciones

deploy_configuration

Crea un objeto de configuración para la implementación en un destino de proceso de AKS.

static deploy_configuration(autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, primary_key=None, secondary_key=None, tags=None, properties=None, description=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=None, blobfuse_enabled=None)

Parámetros

autoscale_enabled
bool
valor predeterminado: None

Indica si se debe habilitar o no la escalabilidad automática para este Webservice. El valor predeterminado es True si num_replicas es None.

autoscale_min_replicas
int
valor predeterminado: None

Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice. De manera predeterminada, su valor es 1.

autoscale_max_replicas
int
valor predeterminado: None

Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice. El valor predeterminado es 10.

autoscale_refresh_seconds
int
valor predeterminado: None

Frecuencia con la que el escalador automático debe intentar escalar este Webservice. De manera predeterminada, su valor es 1.

autoscale_target_utilization
int
valor predeterminado: None

Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este Webservice. El valor predeterminado es 70.

collect_model_data
bool
valor predeterminado: None

Indica si se debe habilitar o no la recopilación de datos del modelo para este Webservice. El valor predeterminado es False.

auth_enabled
bool
valor predeterminado: None

Indica si se debe habilitar o no la autenticación de clave para este Webservice. El valor predeterminado es True.

cpu_cores
float
valor predeterminado: None

Número de núcleos de CPU que se asignarán a este Webservice. Puede ser un decimal. El valor predeterminado es 0,1. Corresponde a la solicitud principal del pod, no al límite, en Azure Kubernetes Service.

memory_gb
float
valor predeterminado: None

Cantidad de memoria (en GB) que se va a asignar a este Webservice. Puede ser un decimal. El valor predeterminado es 0.5. Corresponde a la solicitud de memoria del pod, no al límite, en Azure Kubernetes Service.

enable_app_insights
bool
valor predeterminado: None

Indica si se debe habilitar o no el registro de Application Insights para este Webservice. El valor predeterminado es False.

scoring_timeout_ms
int
valor predeterminado: None

Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice. El valor predeterminado es 60 000.

replica_max_concurrent_requests
int
valor predeterminado: None

Número máximo de solicitudes simultáneas por réplica que se permitirán para este Webservice. De manera predeterminada, su valor es 1. No cambie este valor a menos que se lo indique el soporte técnico de Microsoft o un miembro del equipo de Azure Machine Learning.

max_request_wait_time
int
valor predeterminado: None

Cantidad máxima de tiempo que permanecerá una solicitud en la cola (en milisegundos) antes de devolver un error 503. El valor predeterminado es 500.

num_replicas
int
valor predeterminado: None

Número de contenedores que se asignarán a este Webservice. No tiene un valor predeterminado. Si no se establece este parámetro, el escalador automático se habilita de manera predeterminada.

primary_key
str
valor predeterminado: None

Clave de autenticación principal que se usará para este Webservice.

secondary_key
str
valor predeterminado: None

Clave de autenticación secundaria que se usará para este Webservice.

tags
dict[str, str]
valor predeterminado: None

Diccionario de etiquetas de valor de clave para proporcionar este Webservice.

properties
dict[str, str]
valor predeterminado: None

Diccionario de propiedades de valor de clave para proporcionar este Webservice. Estas propiedades no se pueden cambiar después de la implementación, pero se pueden agregar nuevos pares clave-valor.

description
str
valor predeterminado: None

Descripción para proporcionar a este Webservice.

gpu_cores
int
valor predeterminado: None

Número de núcleos de GPU que se asignará a este servicio web. El valor predeterminado es 0.

period_seconds
int
valor predeterminado: None

Frecuencia (en segundos) en que se ejecutará el sondeo de ejecución. El valor predeterminado es de 10 segundos. El valor mínimo es 1.

initial_delay_seconds
int
valor predeterminado: None

Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución. El valor predeterminado es 310.

timeout_seconds
int
valor predeterminado: None

Número de segundos tras los cuales el sondeo de ejecución agota el tiempo de espera. El valor predeterminado es de 2 segundos. El valor mínimo es 1.

success_threshold
int
valor predeterminado: None

Número mínimo de valores correctos consecutivos para que el sondeo de ejecución se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. El valor mínimo es 1.

failure_threshold
int
valor predeterminado: None

Cuando se inicie un pod y se produzca un error en el sondeo de ejecución, Kubernetes probará las veces especificadas en failureThreshold antes de abandonarlo. El valor predeterminado es 3. El valor mínimo es 1.

namespace
str
valor predeterminado: None

El espacio de nombres de Kubernetes en el que se va a implementar este Webservice: hasta 63 caracteres alfanuméricos en minúsculas ("a"-"z", "0"-"9") y guion ("-"). El primer y el último carácter no puede ser un guion.

token_auth_enabled
bool
valor predeterminado: None

Indica si se debe habilitar o no la autenticación de token para este Webservice. Si esta opción está habilitada, los usuarios pueden acceder a este Webservice mediante la captura de un token de acceso con sus credenciales de Azure Active Directory. El valor predeterminado es False.

compute_target_name
str
valor predeterminado: None

Nombre del destino de proceso en el que se implementará.

cpu_cores_limit
float
valor predeterminado: None

Número máximo de núcleos de CPU que puede usar este servicio web. Puede ser un decimal.

memory_gb_limit
float
valor predeterminado: None

Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.

blobfuse_enabled
bool
valor predeterminado: None

Si se habilita o no blobfuse para la descarga de modelos para este Webservice. El valor predeterminado es True.

Devoluciones

Objeto de configuración que se usará al implementar AksWebservice.

Tipo de valor devuelto

Excepciones

get_access_token

Recupera el token de autenticación para este Webservice.

get_access_token()

Devoluciones

Objeto que describe el token de autenticación para este Webservice.

Tipo de valor devuelto

Excepciones

get_token

EN DESUSO. Use el método get_access_token en su lugar.

Recupera el token de autenticación para este Webservice.

get_token()

Devoluciones

Token de autenticación para este Webservice y cuándo actualizarlo.

Tipo de valor devuelto

Excepciones

remove_tags

Quita las claves especificadas del diccionario de etiquetas de este Webservice.

remove_tags(tags)

Parámetros

tags
list[str]
Requerido

Lista de claves que se quitarán.

run

Llama a este Webservice con la entrada proporcionada.

run(input_data)

Parámetros

input_data
<xref:varies>
Requerido

Entrada con la que se llamará a Webservice.

Devoluciones

Resultado de llamar a Webservice.

Tipo de valor devuelto

Excepciones

serialize

Convierte este Webservice en un diccionario serializado JSON.

serialize()

Devoluciones

Representación JSON de este Webservice.

Tipo de valor devuelto

update

Actualiza Webservice con las propiedades proporcionadas.

Los valores que se dejan como None permanecerán sin cambios en este Webservice.

update(image=None, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, auth_enabled=None, cpu_cores=None, memory_gb=None, enable_app_insights=None, scoring_timeout_ms=None, replica_max_concurrent_requests=None, max_request_wait_time=None, num_replicas=None, tags=None, properties=None, description=None, models=None, inference_config=None, gpu_cores=None, period_seconds=None, initial_delay_seconds=None, timeout_seconds=None, success_threshold=None, failure_threshold=None, namespace=None, token_auth_enabled=None, cpu_cores_limit=None, memory_gb_limit=None, **kwargs)

Parámetros

image
Image
valor predeterminado: None

Nueva imagen que se implementará en Webservice.

autoscale_enabled
bool
valor predeterminado: None

Habilitación o deshabilitación del escalado automático de este Webservice.

autoscale_min_replicas
int
valor predeterminado: None

Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice.

autoscale_max_replicas
int
valor predeterminado: None

Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice.

autoscale_refresh_seconds
int
valor predeterminado: None

Frecuencia con la que el escalador automático debe intentar escalar este Webservice.

autoscale_target_utilization
int
valor predeterminado: None

Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este Webservice.

collect_model_data
bool
valor predeterminado: None

Habilita o deshabilita la recopilación de datos de modelos para este objeto Webservice.

auth_enabled
bool
valor predeterminado: None

Indica si se debe habilitar o no la autenticación para este Webservice.

cpu_cores
float
valor predeterminado: None

Número de núcleos de CPU que se asignarán a este Webservice. Puede ser un decimal.

memory_gb
float
valor predeterminado: None

Cantidad de memoria (en GB) que se va a asignar a este Webservice. Puede ser un decimal.

enable_app_insights
bool
valor predeterminado: None

Indica si se debe habilitar o no el registro de Application Insights para este Webservice.

scoring_timeout_ms
int
valor predeterminado: None

Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice.

replica_max_concurrent_requests
int
valor predeterminado: None

Número máximo de solicitudes simultáneas por réplica que se permitirán para este Webservice.

max_request_wait_time
int
valor predeterminado: None

Cantidad máxima de tiempo que una solicitud permanecerá en la cola (en milisegundos) antes de devolver un error 503.

num_replicas
int
valor predeterminado: None

Número de contenedores que se asignarán a este Webservice.

tags
dict[str, str]
valor predeterminado: None

Diccionario de etiquetas de valor de clave para proporcionar este Webservice. Reemplazará las etiquetas existentes.

properties
dict[str, str]
valor predeterminado: None

Diccionario de propiedades de valor de clave que se agregarán al diccionario de propiedades existente.

description
str
valor predeterminado: None

Descripción para proporcionar a este Webservice.

models
list[Model]
valor predeterminado: None

Lista de objetos de modelo que se van a empaquetar con el servicio actualizado.

inference_config
InferenceConfig
valor predeterminado: None

Objeto InferenceConfig que se usa para proporcionar las propiedades de implementación del modelo necesarias.

gpu_cores
int
valor predeterminado: None

Número de núcleos de GPU que se asignará a este Webservice.

period_seconds
int
valor predeterminado: None

Frecuencia (en segundos) en que se ejecutará el sondeo de ejecución. El valor predeterminado es de 10 segundos. El valor mínimo es 1.

initial_delay_seconds
int
valor predeterminado: None

Número de segundos después de que se haya iniciado el contenedor antes de que se inicien los sondeos de ejecución.

timeout_seconds
int
valor predeterminado: None

Número de segundos tras los cuales el sondeo de ejecución agota el tiempo de espera. El valor predeterminado es de 1 segundo. El valor mínimo es 1.

success_threshold
int
valor predeterminado: None

Número mínimo de valores correctos consecutivos para que el sondeo de ejecución se considere correcto después de que se haya producido un error. De manera predeterminada, su valor es 1. El valor mínimo es 1.

failure_threshold
int
valor predeterminado: None

Cuando se inicie un pod y se produzca un error en el sondeo de ejecución, Kubernetes probará las veces especificadas en failureThreshold antes de abandonarlo. El valor predeterminado es 3. El valor mínimo es 1.

namespace
str
valor predeterminado: None

El espacio de nombres de Kubernetes en el que se va a implementar este Webservice: hasta 63 caracteres alfanuméricos en minúsculas ("a"-"z", "0"-"9") y guion ("-"). El primer y el último carácter no puede ser un guion.

token_auth_enabled
bool
valor predeterminado: None

Indica si se debe habilitar o no la autenticación de token para este Webservice. Si esta opción está habilitada, los usuarios pueden acceder a este Webservice mediante la captura de un token de acceso con sus credenciales de Azure Active Directory. El valor predeterminado es False.

cpu_cores_limit
float
valor predeterminado: None

Número máximo de núcleos de CPU que puede usar este objeto Webservice. Puede ser un decimal.

memory_gb_limit
float
valor predeterminado: None

Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.

kwargs
<xref:varies>
Requerido

Incluye parámetros para admitir la migración del servicio web de AKS a la implementación y el punto de conexión en línea de Kubernetes. is_migration=True|False, compute_target=.

Excepciones