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
str

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
str

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

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
str

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
str

Usuario que creó el objeto Webservice.

error
str

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 key o su valor no es "Primary" (Principal) o "Secondary" (Secundaria).

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
str
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
str

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
str

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
str

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
str

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
(str, str)

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
int

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
str

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
str

Filtra para enumerar solo tipos de Workspace específicos. Las opciones son "ACI" y "AKS".

valor predeterminado: None
image_name
str

Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de imagen específico.

valor predeterminado: None
image_id
str

Filtra la lista para que incluya solo objetos Webservice implementados con el identificador de imagen específico.

valor predeterminado: None
model_name
str

Filtra la lista para que incluya solo objetos Webservice implementados con el nombre de modelo específico.

valor predeterminado: None
model_id
str

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
str

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
str

Clave que se va a regenerar. Las opciones son "Primary" (Principal) o "Secondary" (Secundaria).

set_key
str

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