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

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.

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

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

auth_enabled
bool

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
datetime

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
datetime

Ú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
bool

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

workspace
Workspace
Requerido
name
str
Requerido
overwrite
bool
valor predeterminado: False
request_func
<xref:function>
valor predeterminado: None

Función para solicitar al servicio que compruebe si existe el nombre del servicio

check_func
<xref:function>
valor predeterminado: None

Función para comprobar el contenido de la respuesta de request_func

Excepciones

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

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

workspace
Workspace
Requerido

Objeto de área de trabajo al que se asociará el servicio web.

name
str
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
list[str]
Requerido

Lista de rutas de acceso en disco a archivos o carpetas del modelo. Puede ser una lista vacía.

image_config
ImageConfig
Requerido

Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias.

deployment_config
WebserviceDeploymentConfiguration
valor predeterminado: None

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.

deployment_target
ComputeTarget
valor predeterminado: None

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.

overwrite
bool
valor predeterminado: False

Sobrescribe el servicio existente si ya existe un servicio con ese nombre.

Devoluciones

Objeto Webservice correspondiente al servicio web implementado.

Tipo de valor devuelto

Excepciones

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

workspace
Workspace
Requerido

Objeto de área de trabajo al que se asociará el servicio web.

name
str
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
Image
Requerido

Objeto Image que se va a implementar.

deployment_config
WebserviceDeploymentConfiguration
valor predeterminado: None

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.

deployment_target
ComputeTarget
valor predeterminado: None

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.

overwrite
bool
valor predeterminado: False

Sobrescribe el servicio existente si ya existe un servicio con ese nombre.

Devoluciones

Objeto Webservice correspondiente al servicio web implementado.

Tipo de valor devuelto

Excepciones

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

workspace
Workspace
Requerido

Objeto de área de trabajo al que se asociará el servicio web.

name
str
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
list[Model]
Requerido

Lista de objetos de modelo. Puede ser una lista vacía.

image_config
ImageConfig
Requerido

Objeto ImageConfig que se usa para determinar las propiedades de imagen necesarias.

deployment_config
WebserviceDeploymentConfiguration
valor predeterminado: None

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.

deployment_target
ComputeTarget
valor predeterminado: None

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.

overwrite
bool
valor predeterminado: False

Sobrescribe el servicio existente si ya existe un servicio con ese nombre.

Devoluciones

Objeto Webservice correspondiente al servicio web implementado.

Tipo de valor devuelto

Excepciones

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

workspace
Workspace
Requerido

Objeto Workspace con el que se asociará el objeto Webservice.

name
str
Requerido

Nombre que se va a dar al servicio implementado. Debe ser único en el equipo local.

models
list[Model]
Requerido

Lista de objetos de modelo. Puede ser una lista vacía.

image_config
ImageConfig
Requerido

Objeto ImageConfig que se usa para determinar las propiedades de la imagen del servicio necesarias.

deployment_config
LocalWebserviceDeploymentConfiguration
valor predeterminado: None

Objeto LocalWebserviceDeploymentConfiguration que se usa para configurar el servicio web. Si no se proporciona uno, se usará un objeto de configuración vacío.

wait
bool
valor predeterminado: False

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.

Tipo de valor devuelto

Excepciones

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

cls
Requerido

Indica que se trata de un método de clase.

workspace
Workspace
Requerido

Objeto Workspace en el que está registrado el objeto Webservice.

webservice_payload
dict
Requerido

Objeto JSON que se va a convertir en un objeto Webservice.

Devoluciones

Representación de Webservice del objeto JSON proporcionado.

Tipo de valor devuelto

Excepciones

get_keys

Recupera las claves de autenticación para este objeto Webservice.

get_keys()

Devoluciones

Claves de autenticación para este objeto Webservice.

Tipo de valor devuelto

(str, str)

Excepciones

get_logs

Recupera los registros de este Webservice.

get_logs(num_lines=5000, init=False)

Parámetros

num_lines
int
valor predeterminado: 5000

Número máximo de líneas de registro que se van a recuperar.

init
bool
valor predeterminado: False

Obtiene los registros del contenedor de inicialización.

Devoluciones

Registros de este Webservice.

Tipo de valor devuelto

str

Excepciones

get_token

Se recupera el token de autenticación de este Webservice, limitado al usuario actual.

get_token()

Devoluciones

Token de autenticación para este Webservice y cuándo se debe actualizar después.

Tipo de valor devuelto

Excepciones

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

workspace
Workspace
Requerido

Objeto Workspace para enumerar los servicios web que contiene.

compute_type
str
valor predeterminado: None

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

image_name
str
valor predeterminado: None

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

image_id
str
valor predeterminado: None

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

model_name
str
valor predeterminado: None

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

model_id
str
valor predeterminado: None

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

tags
list
valor predeterminado: None

Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']]

properties
list
valor predeterminado: None

Filtra en función de la lista proporcionada, ya sea por "clave" o "[clave, valor]". Por ejemplo, ['clave', ['clave2', 'valor de clave2']]

image_digest
str
valor predeterminado: None

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

Devoluciones

Lista filtrada de objetos Webservice del objeto Workspace proporcionado.

Tipo de valor devuelto

Excepciones

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

key
str
Requerido

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

set_key
str
valor predeterminado: None

Valor especificado por el usuario que permite la especificación manual del valor de la clave

Excepciones

run

Llama a este Webservice con la entrada proporcionada.

Método abstracto implementado por clases secundarias de Webservice.

abstract run(input)

Parámetros

input
<xref:varies>
Requerido

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

Resultado de llamar a Webservice. Esto devolverá las predicciones que se ejecutan desde el modelo de Machine Learning.

Tipo de valor devuelto

Excepciones

serialize

Convierte este objeto Webservice en un diccionario serializado JSON.

Use deserialize para volver a convertirlo en un objeto Webservice.

serialize()

Devoluciones

Representación JSON de este servicio web.

Tipo de valor devuelto

Excepciones

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

args
<xref:varies>
Requerido

Valores que se van a actualizar.

Excepciones

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

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

show_output
bool
valor predeterminado: False

Indica si se va a imprimir una salida más detallada.

timeout_sec
float
valor predeterminado: None

Genera una excepción si la implementación supera el tiempo de espera especificado.

Excepciones