Webservice Clase
Define la funcionalidad base para implementar modelos como puntos de conexión de servicio web en Azure Machine Learning.
El constructor Webservice se usa para recuperar una representación en la nube de un objeto Webservice asociado al área de trabajo proporcionada. Se devuelve una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado. La clase Webservice permite implementar modelos de Machine Learning desde un objeto Model o Image.
Para más información sobre el trabajo con Webservice, consulte Implementación de modelos con Azure Machine Learning.
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
-
Webservice
Constructor
Webservice(workspace, name)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto Workspace que contiene el objeto Webservice que se va a recuperar. |
name
Requerido
|
Nombre del objeto Webservice que se va a recuperar. |
workspace
Requerido
|
Objeto Workspace que contiene el objeto Webservice que se va a recuperar. |
name
Requerido
|
Nombre del objeto Webservice que se va a recuperar. |
Comentarios
En el ejemplo siguiente, se muestra el patrón de implementación recomendado, en el que primero se crea un objeto de configuración con el método deploy_configuration
de la clase secundaria del objeto Webservice (en este caso, AksWebservice) y luego se usa la configuración con el método deploy
de la clase Model.
# 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.
En el ejemplo siguiente, se muestra cómo buscar un elemento AciWebservice existente en un área de trabajo y eliminarlo si existe para poder reutilizar el nombre.
from azureml.core.model import InferenceConfig
from azureml.core.webservice import AciWebservice
service_name = 'my-custom-env-service'
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
aci_config = AciWebservice.deploy_configuration(cpu_cores=1, memory_gb=1)
service = Model.deploy(workspace=ws,
name=service_name,
models=[model],
inference_config=inference_config,
deployment_config=aci_config,
overwrite=True)
service.wait_for_deployment(show_output=True)
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 para las imágenes ya creadas a partir de un modelo.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 Webservice 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
Nombre | Description |
---|---|
auth_enabled
|
Indica si el objeto Webservice tiene habilitada la autenticación o no. |
compute_type
|
Tipo de recurso de proceso en el que se implementa el objeto Webservice. |
created_time
|
Cuando se creó el objeto Webservice. |
azureml.core.Webservice.description
|
Descripción del objeto Webservice. |
azureml.core.Webservice.tags
|
Diccionario de etiquetas del objeto Webservice. |
azureml.core.Webservice.name
|
Nombre del objeto Webservice. |
azureml.core.Webservice.properties
|
Diccionario de propiedades de clave-valor para el objeto Webservice. Estas propiedades no se pueden cambiar después de la implementación, pero se pueden agregar nuevos pares clave-valor. |
created_by
|
Usuario que creó el objeto Webservice. |
error
|
Si no se pudo implementar el objeto Webservice, contendrá el mensaje de error que explica por qué se produjo el error. |
azureml.core.Webservice.state
|
Estado actual del objeto Webservice. |
updated_time
|
Última vez que se actualizó el objeto Webservice. |
azureml.core.Webservice.workspace
|
Área de trabajo de Azure Machine Learning que contiene este Webservice. |
token_auth_enabled
|
Indica si el objeto Webservice tiene habilitada la autenticación de token o no. |
Métodos
check_for_existing_webservice |
Comprueba que el servicio web exista. |
delete |
Elimina este Webservice de su área de trabajo asociada. Esta llamada de función no es asincrónica. La llamada se ejecuta hasta que se elimina el recurso. Se genera una excepción WebserviceException si hay un problema al eliminar el modelo del servicio de administración de modelos. |
deploy |
Implementa un servicio web a partir de cero o más objetos Model. Esta función registrará los archivos de modelos proporcionados y creará una imagen en el recurso de proceso, todo ello asociado al elemento Workspace especificado. Use esta función cuando tenga un directorio de modelos para implementar que no se hayan registrado previamente. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_image |
Implementa un Webservice a partir de un objeto Image. Use esta función si ya tiene un objeto Image creado para un modelo. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_model |
Implementa un servicio web a partir de cero o más objetos Model. Esta función es similar a deploy, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados. Esto creará una imagen en el recurso de proceso, asociada al objeto Workspace especificado. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_local_from_model |
Compila e implementa un elemento LocalWebservice para las pruebas. Requiere que Docker esté instalado y configurado. |
deserialize |
Convierte un objeto JSON de respuesta del servicio de administración de modelos en un objeto Webservice. Producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el objeto Webservice. |
get_keys |
Recupera las claves de autenticación para este objeto Webservice. |
get_logs |
Recupera los registros de este Webservice. |
get_token |
Se recupera el token de autenticación de este Webservice, limitado al usuario actual. |
list |
Enumera los objetos Webservice asociados al elemento Workspace correspondiente. Los resultados devueltos se pueden filtrar mediante parámetros. |
regen_key |
Vuelve a generar una de las claves del objeto Webservice, ya sea la clave principal o la secundaria. Se genera una excepción WebserviceException si no se especifica |
run |
Llama a este Webservice con la entrada proporcionada. Método abstracto implementado por clases secundarias de Webservice. |
serialize |
Convierte este objeto Webservice en un diccionario serializado JSON. Use deserialize para volver a convertirlo en un objeto Webservice. |
update |
Actualiza los parámetros de Webservice. Este es un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario de Webservice. Por ejemplo, para servicios web de Azure Container Instances, consulte update para conocer los parámetros específicos. |
update_deployment_state |
Actualiza el estado actual del objeto en memoria. Realiza una actualización local de las propiedades del objeto en función del estado actual del objeto de nube correspondiente. Principalmente útil para el sondeo manual del estado de creación. |
wait_for_deployment |
Sondea automáticamente la implementación del objeto Webservice en ejecución. Espera a que el objeto Webservice alcance un estado terminal. Se producirá una excepción WebserviceException si alcanza un estado terminal no correcto o supera el tiempo de espera proporcionado. |
check_for_existing_webservice
Comprueba que el servicio web exista.
static check_for_existing_webservice(workspace, name, overwrite=False, request_func=None, check_func=None)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
|
name
Requerido
|
|
overwrite
|
Valor predeterminado: False
|
request_func
|
<xref:function>
Función para solicitar al servicio que compruebe si existe el nombre del servicio Valor predeterminado: None
|
check_func
|
<xref:function>
Función para comprobar el contenido de la respuesta de request_func Valor predeterminado: None
|
Excepciones
Tipo | Description |
---|---|
delete
Elimina este Webservice de su área de trabajo asociada.
Esta llamada de función no es asincrónica. La llamada se ejecuta hasta que se elimina el recurso. Se genera una excepción WebserviceException si hay un problema al eliminar el modelo del servicio de administración de modelos.
delete()
Excepciones
Tipo | Description |
---|---|
deploy
Implementa un servicio web a partir de cero o más objetos Model.
Esta función registrará los archivos de modelos proporcionados y creará una imagen en el recurso de proceso, todo ello asociado al elemento Workspace especificado. Use esta función cuando tenga un directorio de modelos para implementar que no se hayan registrado previamente.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy(workspace, name, model_paths, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto de área de trabajo al que se asociará el servicio web. |
name
Requerido
|
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud. |
model_paths
Requerido
|
Lista de rutas de acceso en disco a archivos o carpetas del modelo. Puede ser una lista vacía. |
image_config
Requerido
|
Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias. |
deployment_config
|
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Como Azure Container Instances no tiene asociado ningún recurso ComputeTarget, deje None en este parámetro al implementar en Azure Container Instances. Valor predeterminado: None
|
overwrite
|
Sobrescribe el servicio existente si ya existe un servicio con ese nombre. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto Webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_from_image
Implementa un Webservice a partir de un objeto Image.
Use esta función si ya tiene un objeto Image creado para un modelo.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy_from_image(workspace, name, image, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto de área de trabajo al que se asociará el servicio web. |
name
Requerido
|
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud. |
image
Requerido
|
Objeto Image que se va a implementar. |
deployment_config
|
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Como Azure Container Instances no tiene asociado ningún recurso ComputeTarget, deje None en este parámetro al implementar en Azure Container Instances. Valor predeterminado: None
|
overwrite
|
Sobrescribe el servicio existente si ya existe un servicio con ese nombre. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto Webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_from_model
Implementa un servicio web a partir de cero o más objetos Model.
Esta función es similar a deploy, pero no registra los modelos. Use esta función si tiene objetos de modelo que ya están registrados. Esto creará una imagen en el recurso de proceso, asociada al objeto Workspace especificado.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para más información, consulte Consumo de un modelo implementado como servicio web.
static deploy_from_model(workspace, name, models, image_config, deployment_config=None, deployment_target=None, overwrite=False)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto de área de trabajo al que se asociará el servicio web. |
name
Requerido
|
Nombre que se va a dar al servicio implementado. Debe ser único para el área de trabajo, solo debe estar formado por letras minúsculas, números o guiones, debe comenzar por una letra y tener entre 3 y 32 caracteres de longitud. |
models
Requerido
|
Lista de objetos de modelo. Puede ser una lista vacía. |
image_config
Requerido
|
Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias. |
deployment_config
|
Objeto WebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona ninguno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
Recurso ComputeTarget en el que se va a implementar el objeto Webservice. Dado que ACI no tiene un elemento ComputeTarget asociado, deje este parámetro como None para la implementación en ACI. Valor predeterminado: None
|
overwrite
|
Sobrescribe el servicio existente si ya existe un servicio con ese nombre. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto Webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_local_from_model
Compila e implementa un elemento LocalWebservice para las pruebas.
Requiere que Docker esté instalado y configurado.
static deploy_local_from_model(workspace, name, models, image_config, deployment_config=None, wait=False)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto Workspace con el que se asociará el objeto Webservice. |
name
Requerido
|
Nombre que se va a dar al servicio implementado. Debe ser único en el equipo local. |
models
Requerido
|
Lista de objetos de modelo. Puede ser una lista vacía. |
image_config
Requerido
|
Objeto ImageConfig que se usa para determinar las propiedades de la imagen del servicio necesarias. |
deployment_config
|
Objeto LocalWebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío. Valor predeterminado: None
|
wait
|
Indica si se va a esperar a que el contenedor Docker de LocalWebservice informe un estado correcto. Produce una excepción si el contenedor se bloquea. El valor predeterminado es False. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Excepciones
Tipo | Description |
---|---|
deserialize
Convierte un objeto JSON de respuesta del servicio de administración de modelos en un objeto Webservice.
Producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el objeto Webservice.
deserialize(workspace, webservice_payload)
Parámetros
Nombre | Description |
---|---|
cls
Requerido
|
Indica que se trata de un método de clase. |
workspace
Requerido
|
Objeto Workspace en el que está registrado el objeto Webservice. |
webservice_payload
Requerido
|
Objeto JSON que se va a convertir en un objeto Webservice. |
Devoluciones
Tipo | Description |
---|---|
Representación de Webservice del objeto JSON proporcionado. |
Excepciones
Tipo | Description |
---|---|
get_keys
Recupera las claves de autenticación para este objeto Webservice.
get_keys()
Devoluciones
Tipo | Description |
---|---|
Claves de autenticación para este objeto Webservice. |
Excepciones
Tipo | Description |
---|---|
get_logs
Recupera los registros de este Webservice.
get_logs(num_lines=5000, init=False)
Parámetros
Nombre | Description |
---|---|
num_lines
|
Número máximo de líneas de registro que se van a recuperar. Valor predeterminado: 5000
|
init
|
Obtiene los registros del contenedor de inicialización. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Registros de este Webservice. |
Excepciones
Tipo | Description |
---|---|
get_token
Se recupera el token de autenticación de este Webservice, limitado al usuario actual.
get_token()
Devoluciones
Tipo | Description |
---|---|
Token de autenticación para este Webservice y cuándo se debe actualizar después. |
Excepciones
Tipo | Description |
---|---|
list
Enumera los objetos Webservice asociados al elemento Workspace correspondiente.
Los resultados devueltos se pueden filtrar mediante parámetros.
static list(workspace, compute_type=None, image_name=None, image_id=None, model_name=None, model_id=None, tags=None, properties=None, image_digest=None)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto Workspace para enumerar los servicios web que contiene. |
compute_type
|
Filtra para enumerar solo tipos de Workspace específicos. Las opciones son "ACI" y "AKS". Valor predeterminado: None
|
image_name
|
Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de imagen específico. Valor predeterminado: None
|
image_id
|
Filtra la lista para que incluya solo objetos Webservice implementados con el identificador de imagen específico. Valor predeterminado: None
|
model_name
|
Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de modelo específico. Valor predeterminado: None
|
model_id
|
Filtra la lista para que incluya solo objetos Webservice implementados con el identificador de modelo específico. Valor predeterminado: None
|
tags
|
Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']] Valor predeterminado: None
|
properties
|
Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']] Valor predeterminado: None
|
image_digest
|
Filtra la lista para que incluya solo objetos Webservice implementados con el hash de imagen específico. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Lista filtrada de objetos Webservice del objeto Workspace proporcionado. |
Excepciones
Tipo | Description |
---|---|
regen_key
Vuelve a generar una de las claves del objeto Webservice, ya sea la clave principal o la secundaria.
Se genera una excepción WebserviceException si no se especifica key
o su valor no es "Primary" (Principal) o "Secondary" (Secundaria).
regen_key(key, set_key=None)
Parámetros
Nombre | Description |
---|---|
key
Requerido
|
Clave que se va a regenerar. Las opciones son "Primary" (Principal) o "Secondary" (Secundaria). |
set_key
|
Valor especificado por el usuario que permite la especificación manual del valor de la clave Valor predeterminado: None
|
Excepciones
Tipo | Description |
---|---|
run
Llama a este Webservice con la entrada proporcionada.
Método abstracto implementado por clases secundarias de Webservice.
abstract run(input)
Parámetros
Nombre | Description |
---|---|
input
Requerido
|
<xref:varies>
Datos de entrada con los que se llamará al Webservice. Estos son los datos que el modelo de Machine Learning espera como entrada para ejecutar predicciones. |
Devoluciones
Tipo | Description |
---|---|
Resultado de llamar a Webservice. Esto devolverá las predicciones que se ejecutan desde el modelo de Machine Learning. |
Excepciones
Tipo | Description |
---|---|
serialize
Convierte este objeto Webservice en un diccionario serializado JSON.
Use deserialize para volver a convertirlo en un objeto Webservice.
serialize()
Devoluciones
Tipo | Description |
---|---|
Representación JSON de este servicio web. |
Excepciones
Tipo | Description |
---|---|
update
Actualiza los parámetros de Webservice.
Este es un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario de Webservice. Por ejemplo, para servicios web de Azure Container Instances, consulte update para conocer los parámetros específicos.
abstract update(*args)
Parámetros
Nombre | Description |
---|---|
args
Requerido
|
<xref:varies>
Valores que se van a actualizar. |
Excepciones
Tipo | Description |
---|---|
update_deployment_state
Actualiza el estado actual del objeto en memoria.
Realiza una actualización local de las propiedades del objeto en función del estado actual del objeto de nube correspondiente. Principalmente útil para el sondeo manual del estado de creación.
update_deployment_state()
Excepciones
Tipo | Description |
---|---|
wait_for_deployment
Sondea automáticamente la implementación del objeto Webservice en ejecución.
Espera a que el objeto Webservice alcance un estado terminal. Se producirá una excepción WebserviceException si alcanza un estado terminal no correcto o supera el tiempo de espera proporcionado.
wait_for_deployment(show_output=False, timeout_sec=None)
Parámetros
Nombre | Description |
---|---|
show_output
|
Indica si se va a imprimir una salida más detallada. Valor predeterminado: False
|
timeout_sec
|
Genera una excepción si la implementación supera el tiempo de espera especificado. Valor predeterminado: None
|
Excepciones
Tipo | Description |
---|---|