Webservice Clase
Define la funcionalidad base para implementar modelos como puntos de conexión de servicio web en Azure Machine Learning.
El constructor de servicios web se usa para recuperar una representación en la nube de un objeto de servicio web asociado al área de trabajo proporcionada. Devuelve una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado. La clase Webservice permite implementar modelos de aprendizaje automático desde un Model objeto o Image .
Para más información sobre cómo trabajar con el servicio web, consulte Implementación de modelos con Azure Machine Learning.
Inicialice la instancia del servicio web.
El constructor de servicios web recupera una representación en la nube de un objeto de servicio web asociado al área de trabajo proporcionada. Devolverá una instancia de una clase secundaria correspondiente al tipo específico del objeto Webservice recuperado.
Constructor
Webservice(workspace, name)
Parámetros
Nombre | Description |
---|---|
workspace
Requerido
|
Objeto de área de trabajo que contiene el objeto Webservice que se va a recuperar. |
name
Requerido
|
Nombre del objeto web que se va a recuperar. |
workspace
Requerido
|
Objeto de área de trabajo que contiene el objeto Webservice que se va a recuperar. |
name
Requerido
|
Nombre del objeto web que se va a recuperar. |
Comentarios
En el ejemplo siguiente se muestra el patrón de implementación recomendado donde primero se crea un objeto de configuración con el deploy_configuration
método de la clase secundaria de Webservice (en este caso AksWebservice) y, a continuación, se usa la configuración con el deploy
método de la Model clase .
# 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)
En el ejemplo siguiente se muestra cómo buscar un existente AciWebservice en un área de trabajo y eliminarlo si existe para que se pueda 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, incluido con:
deploy
método de Model para los modelos que ya están registrados en el área de trabajo.deploy_from_image
método de para imágenes ya creadas a partir de Webservice un modelo.deploy_from_model
método de para los modelos ya registrados en el área de Webservice trabajo. Este método creará una imagen.deploy
método 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 deben considerarse 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 servicio web tiene habilitada la autenticación. |
compute_type
|
En qué tipo de proceso se implementa el servicio web. |
created_time
|
Cuando se creó el servicio web. |
azureml.core.Webservice.description
|
Descripción del objeto Webservice. |
azureml.core.Webservice.tags
|
Diccionario de etiquetas para el objeto Webservice. |
azureml.core.Webservice.name
|
Nombre del servicio web. |
azureml.core.Webservice.properties
|
Diccionario de propiedades de valor de clave para el servicio web. Estas propiedades no se pueden cambiar después de la implementación, pero se pueden agregar nuevos pares de valor de clave. |
created_by
|
Usuario que creó el servicio web. |
error
|
Si el servicio web no se pudo implementar, contendrá el mensaje de error por el que se produjo un error. |
azureml.core.Webservice.state
|
Estado actual del servicio web. |
updated_time
|
La última vez que se actualizó el servicio web. |
azureml.core.Webservice.workspace
|
Área de trabajo de Azure Machine Learning que contiene este servicio web. |
token_auth_enabled
|
Indica si el servicio web tiene habilitada la autenticación de token. |
Métodos
check_for_existing_webservice |
Compruebe que existe un servicio web. |
delete |
Elimine este servicio web 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. WebserviceException Se genera una excepción si hay un problema al eliminar el modelo del servicio de administración de modelos. |
deploy |
Implemente un servicio web desde cero o más Model objetos. Esta función registrará los archivos de modelos proporcionados y creará una imagen en el proceso, todas asociadas con el especificado Workspace. 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 obtener más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_image |
Implemente un servicio web desde un Image objeto . 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 obtener más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_from_model |
Implemente un servicio web desde cero o más Model objetos. 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 proceso, asociada al área de trabajo especificada. El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para obtener más información, consulte Consumo de un modelo implementado como servicio web. |
deploy_local_from_model |
Compile e implemente un LocalWebservice para realizar pruebas. Requiere que Docker esté instalado y configurado. |
deserialize |
Convierta un objeto JSON de respuesta del Servicio de administración de modelos en un objeto Webservice. Se producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el servicio web. |
get_keys |
Recupere las claves de autenticación de este servicio web. |
get_logs |
Recupere los registros de este servicio web. |
get_token |
Recupere el token de autenticación de este servicio web, con ámbito para el usuario actual. |
list |
Enumere los servicios web asociados con el objeto correspondiente Workspace. Los resultados devueltos se pueden filtrar mediante parámetros. |
regen_key |
Vuelva a generar una de las claves del servicio web, ya sea la clave "Principal" o "Secundaria".
WebserviceException Se genera un si |
run |
Llame a este servicio web con la entrada proporcionada. Método abstracto implementado por clases secundarias de Webservice. |
serialize |
Convierta este objeto Webservice en un diccionario serializado JSON. Use deserialize para volver a convertir en un objeto Webservice. |
update |
Actualice los parámetros del servicio web. Se trata de un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario webservice. Por ejemplo, para los servicios web de Azure Container Instances, consulte update para obtener parámetros específicos. |
update_deployment_state |
Actualice el estado actual del objeto en memoria. Realice una actualización local de las propiedades del objeto en función del estado actual del objeto en la nube correspondiente. Principalmente útil para el sondeo manual del estado de creación. |
wait_for_deployment |
Sondee automáticamente en la implementación de servicios web en ejecución. Espere a que el servicio web llegue a un estado de terminal. Producirá un WebserviceException si alcanza un estado terminal no correcto o supera el tiempo de espera proporcionado. |
check_for_existing_webservice
Compruebe que existe un servicio web.
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>
function to request service to check if service name exists 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
Elimine este servicio web 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. WebserviceException Se genera una excepción si hay un problema al eliminar el modelo del servicio de administración de modelos.
delete()
Excepciones
Tipo | Description |
---|---|
deploy
Implemente un servicio web desde cero o más Model objetos.
Esta función registrará los archivos de modelos proporcionados y creará una imagen en el proceso, todas asociadas con el especificado Workspace. 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 obtener 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 Workspace al que se va a asociar el servicio web. |
name
Requerido
|
Nombre que se va a asignar al servicio implementado. Debe ser único para el área de trabajo, solo consta de letras minúsculas, números o guiones, comenzar con una letra y tener entre 3 y 32 caracteres. |
model_paths
Requerido
|
Lista de rutas de acceso en disco a archivos o carpetas de modelos. Puede ser una lista vacía. |
image_config
Requerido
|
Objeto ImageConfig usado para determinar las propiedades de imagen necesarias. |
deployment_config
|
WebserviceDeploymentConfiguration usado para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
ComputeTarget que se va a implementar el servicio web en. Como Azure Container Instances no tiene asociado ComputeTarget, deje este parámetro como Ninguno para implementar en Azure Container Instances. Valor predeterminado: None
|
overwrite
|
Sobrescriba el servicio existente si el servicio con el nombre ya existe. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_from_image
Implemente un servicio web desde un Image objeto .
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 obtener 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 Workspace al que se va a asociar el servicio web. |
name
Requerido
|
Nombre que se va a asignar al servicio implementado. Debe ser único para el área de trabajo, solo consta de letras minúsculas, números o guiones, comenzar con una letra y tener entre 3 y 32 caracteres. |
image
Requerido
|
Objeto Image que se va a implementar. |
deployment_config
|
WebserviceDeploymentConfiguration usado para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
ComputeTarget que se va a implementar el servicio web en. Como Azure Container Instances no tiene asociado ComputeTarget, deje este parámetro como Ninguno para implementar en Azure Container Instances. Valor predeterminado: None
|
overwrite
|
Sobrescriba el servicio existente si el servicio con el nombre ya existe. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_from_model
Implemente un servicio web desde cero o más Model objetos.
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 proceso, asociada al área de trabajo especificada.
El servicio web resultante es un punto de conexión en tiempo real que se puede usar para las solicitudes de inferencia. Para obtener 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 Workspace al que se va a asociar el servicio web. |
name
Requerido
|
Nombre que se va a asignar al servicio implementado. Debe ser único para el área de trabajo, solo consta de letras minúsculas, números o guiones, comenzar con una letra y tener entre 3 y 32 caracteres. |
models
Requerido
|
Lista de objetos de modelo. Puede ser una lista vacía. |
image_config
Requerido
|
Objeto ImageConfig usado para determinar las propiedades de imagen necesarias. |
deployment_config
|
WebserviceDeploymentConfiguration usado para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío en función del destino deseado. Valor predeterminado: None
|
deployment_target
|
ComputeTarget que se va a implementar el servicio web en. Como ACI no tiene asociado ComputeTarget, deje este parámetro como None para implementar en ACI. Valor predeterminado: None
|
overwrite
|
Sobrescriba el servicio existente si el servicio con el nombre ya existe. Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Objeto webservice correspondiente al servicio web implementado. |
Excepciones
Tipo | Description |
---|---|
deploy_local_from_model
Compile e implemente un LocalWebservice para realizar 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 va a asociar el servicio web. |
name
Requerido
|
Nombre que se va a asignar 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 usado para determinar las propiedades de imagen de servicio necesarias. |
deployment_config
|
LocalWebserviceDeploymentConfiguration usado para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío. Valor predeterminado: None
|
wait
|
Si se espera a que el contenedor de Docker de LocalWebservice informe como 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
Convierta un objeto JSON de respuesta del Servicio de administración de modelos en un objeto Webservice.
Se producirá un error si el área de trabajo proporcionada no es el área de trabajo en la que está registrado el servicio web.
deserialize(workspace, webservice_payload)
Parámetros
Nombre | Description |
---|---|
cls
Requerido
|
Indica que se trata de un método de clase. |
workspace
Requerido
|
Objeto de área de trabajo en el que está registrado el servicio web. |
webservice_payload
Requerido
|
Objeto JSON que se va a convertir en un objeto Webservice. |
Devoluciones
Tipo | Description |
---|---|
Representación del servicio web del objeto JSON proporcionado. |
get_keys
Recupere las claves de autenticación de este servicio web.
get_keys()
Devoluciones
Tipo | Description |
---|---|
Claves de autenticación para este servicio web. |
Excepciones
Tipo | Description |
---|---|
get_logs
Recupere los registros de este servicio web.
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
|
Obtención de registros del contenedor de inicialización Valor predeterminado: False
|
Devoluciones
Tipo | Description |
---|---|
Los registros de este servicio web. |
Excepciones
Tipo | Description |
---|---|
get_token
Recupere el token de autenticación de este servicio web, con ámbito para el usuario actual.
get_token()
Devoluciones
Tipo | Description |
---|---|
Token de autenticación para este servicio web y cuándo se debe actualizar después. |
Excepciones
Tipo | Description |
---|---|
list
Enumere los servicios web asociados con el objeto correspondiente Workspace.
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 en el que se van a enumerar los servicios web. |
compute_type
|
Filtre para enumerar solo tipos específicos de servicios web. Las opciones son "ACI", "AKS". Valor predeterminado: None
|
image_name
|
Lista de filtros para incluir solo servicios web implementados con el nombre de imagen específico. Valor predeterminado: None
|
image_id
|
Lista de filtros para incluir solo servicios web implementados con el identificador de imagen específico. Valor predeterminado: None
|
model_name
|
Lista de filtros para incluir solo servicios web implementados con el nombre de modelo específico. Valor predeterminado: None
|
model_id
|
Lista de filtros para incluir solo servicios web implementados con el identificador de modelo específico. Valor predeterminado: None
|
tags
|
Filtre en función de la lista proporcionada por "key" o "[key, value]". Por ejemplo, ['key', ['key2', 'key2 value']] Valor predeterminado: None
|
properties
|
Filtre en función de la lista proporcionada por "key" o "[key, value]". Por ejemplo, ['key', ['key2', 'key2 value']] Valor predeterminado: None
|
image_digest
|
Lista de filtros para incluir solo servicios web implementados con el resumen de imagen específico. Valor predeterminado: None
|
Devoluciones
Tipo | Description |
---|---|
Lista filtrada de servicios web en el área de trabajo proporcionada. |
Excepciones
Tipo | Description |
---|---|
regen_key
Vuelva a generar una de las claves del servicio web, ya sea la clave "Principal" o "Secundaria".
WebserviceException Se genera un si key
no se especifica o no es "Principal" o "Secundario".
regen_key(key, set_key=None)
Parámetros
Nombre | Description |
---|---|
key
Requerido
|
Clave que se va a regenerar. Las opciones son "Principal" o "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
Llame a este servicio web 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 llamar al servicio web. Estos son los datos que espera el modelo de machine Learning como entrada para ejecutar predicciones. |
Devoluciones
Tipo | Description |
---|---|
Resultado de llamar al servicio web. Esto devolverá las predicciones que se ejecutan desde el modelo de aprendizaje automático. |
Excepciones
Tipo | Description |
---|---|
serialize
Convierta este objeto Webservice en un diccionario serializado JSON.
Use deserialize para volver a convertir en un objeto Webservice.
serialize()
Devoluciones
Tipo | Description |
---|---|
Representación JSON de este servicio web. |
update
Actualice los parámetros del servicio web.
Se trata de un método abstracto implementado por clases secundarias de Webservice. Los parámetros posibles para actualizar varían en función del tipo secundario webservice. Por ejemplo, para los servicios web de Azure Container Instances, consulte update para obtener 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
Actualice el estado actual del objeto en memoria.
Realice una actualización local de las propiedades del objeto en función del estado actual del objeto en la nube correspondiente. Principalmente útil para el sondeo manual del estado de creación.
update_deployment_state()
wait_for_deployment
Sondee automáticamente en la implementación de servicios web en ejecución.
Espere a que el servicio web llegue a un estado de terminal. Producirá un 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
|
Genere una excepción si la implementación supera el tiempo de espera especificado. Valor predeterminado: None
|
Excepciones
Tipo | Description |
---|---|