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 de servicio web.
El constructor de servicios web 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
Objeto Workspace que contiene el 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
Consumir un modelo de Azure Machine Learning que está implementado como un servicio web
Supervisión y recopilación de datos de los puntos de conexión del servicio web ML
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.
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 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
add_tags
Agregue pares clave-valor al diccionario de etiquetas de este Webservice.
Genera WebserviceException.
add_tags(tags)
Parámetros
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
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
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
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
Frecuencia con la que el escalador automático debe intentar escalar este Webservice. De manera predeterminada, su valor es 1.
- autoscale_target_utilization
- int
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
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
Indica si se debe habilitar o no la autenticación de clave para este Webservice. El valor predeterminado es True.
- cpu_cores
- float
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
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
Indica si se debe habilitar o no el registro de Application Insights para este Webservice. El valor predeterminado es False.
- scoring_timeout_ms
- int
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
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
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
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
Clave de autenticación principal que se usará para este Webservice.
- secondary_key
- str
Clave de autenticación secundaria que se usará para este Webservice.
Diccionario de etiquetas de valor de clave para proporcionar este Webservice.
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.
- gpu_cores
- int
Número de núcleos de GPU que se asignará a este servicio web. El valor predeterminado es 0.
- period_seconds
- int
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
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
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
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
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
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
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
Nombre del destino de proceso en el que se implementará.
- cpu_cores_limit
- float
Número máximo de núcleos de CPU que puede usar este servicio web. Puede ser un decimal.
- memory_gb_limit
- float
Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.
- blobfuse_enabled
- bool
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
run
Llama a este Webservice con la entrada proporcionada.
run(input_data)
Parámetros
- input_data
- <xref:varies>
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
- autoscale_enabled
- bool
Habilitación o deshabilitación del escalado automático de este Webservice.
- autoscale_min_replicas
- int
Número mínimo de contenedores que se van a usar al escalar automáticamente este Webservice.
- autoscale_max_replicas
- int
Número máximo de contenedores que se van a usar al escalar automáticamente este Webservice.
- autoscale_refresh_seconds
- int
Frecuencia con la que el escalador automático debe intentar escalar este Webservice.
- autoscale_target_utilization
- int
Uso objetivo (en un porcentaje de 100) que el escalador automático debe intentar mantener para este Webservice.
- collect_model_data
- bool
Habilita o deshabilita la recopilación de datos de modelos para este objeto Webservice.
- auth_enabled
- bool
Indica si se debe habilitar o no la autenticación para este Webservice.
- cpu_cores
- float
Número de núcleos de CPU que se asignarán a este Webservice. Puede ser un decimal.
- memory_gb
- float
Cantidad de memoria (en GB) que se va a asignar a este Webservice. Puede ser un decimal.
- enable_app_insights
- bool
Indica si se debe habilitar o no el registro de Application Insights para este Webservice.
- scoring_timeout_ms
- int
Tiempo de espera para aplicar a las llamadas de puntuación a este Webservice.
- replica_max_concurrent_requests
- int
Número máximo de solicitudes simultáneas por réplica que se permitirán para este Webservice.
- max_request_wait_time
- int
Cantidad máxima de tiempo que una solicitud permanecerá en la cola (en milisegundos) antes de devolver un error 503.
- num_replicas
- int
Número de contenedores que se asignarán a este Webservice.
Diccionario de etiquetas de valor de clave para proporcionar este Webservice. Reemplazará las etiquetas existentes.
Diccionario de propiedades de valor de clave que se agregarán al diccionario de propiedades existente.
Lista de objetos de modelo que se van a empaquetar con el servicio actualizado.
- inference_config
- InferenceConfig
Objeto InferenceConfig que se usa para proporcionar las propiedades de implementación del modelo necesarias.
- gpu_cores
- int
Número de núcleos de GPU que se asignará a este Webservice.
- period_seconds
- int
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
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
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
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
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
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
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
Número máximo de núcleos de CPU que puede usar este objeto Webservice. Puede ser un decimal.
- memory_gb_limit
- float
Cantidad máxima de memoria (en GB) que puede usar este objeto Webservice. Puede ser un decimal.
- kwargs
- <xref:varies>
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de