AksWebservice Classe

Représente un modèle Machine Learning déployé en tant que point de terminaison de service web sur Azure Kubernetes Service.

Un service déployé est créé à partir d’un modèle, d’un script et des fichiers associés. Le service web résultant est un point de terminaison HTTP à charge équilibrée avec une API REST. Vous pouvez envoyer des données à cette API et recevoir la prédiction retournée par le modèle.

AksWebservice déploie un seul service sur un seul point de terminaison. Pour déployer plusieurs services sur un seul point de terminaison, utilisez la classe AksEndpoint.

Pour plus d’informations, consultez Déployer un modèle sur un cluster Azure Kubernetes Service.

Initialisez le instance webservice.

Le constructeur Webservice récupère une représentation cloud d’un objet Webservice associé à l’espace de travail fourni. Il retourne une instance d’une classe enfant correspondant au type spécifique de l’objet Webservice récupéré.

Héritage
AksWebservice

Constructeur

AksWebservice(workspace, name)

Paramètres

Nom Description
workspace
Obligatoire

Objet d’espace de travail contenant l’objet Webservice à récupérer.

name
Obligatoire
str

Nom de l’objet Webservice à récupérer.

Remarques

Le modèle de déploiement recommandé consiste à créer un objet de configuration de déploiement avec la méthode deploy_configuration, puis à l’utiliser avec la méthode deploy de la classe Model, comme indiqué ci-dessous.


   # 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)

Un exemple complet est disponible sur https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/deployment/production-deploy-to-aks/production-deploy-to-aks.ipynb

Il existe plusieurs façons de déployer un modèle en tant que service web, notamment avec les méthodes suivantes :

  • Méthode deploy de Model pour les modèles déjà inscrits dans l’espace de travail.

  • Méthode deploy_from_image de Webservice.

  • Méthode deploy_from_model de Webservice pour les modèles déjà inscrits dans l’espace de travail. Cette méthode permet de créer une image.

  • Méthode deploy de Webservice, qui inscrit un modèle et crée une image.

Pour plus d’informations sur l’utilisation des services web, consultez

La section Variables liste les attributs d’une représentation locale de l’objet cloud AksWebservice. Ces variables doivent être considérées comme étant en lecture seule. Le changement de leurs valeurs n’est pas reflété dans l’objet cloud correspondant.

Variables

Nom Description
enable_app_insights

Indique si la journalisation AppInsights est activée pour le Webservice.

autoscaler

Objet Autoscaler du Webservice.

compute_name
str

Nom du ComputeTarget sur lequel le Webservice est déployé.

container_resource_requirements

Impératifs liés aux ressources d’un conteneur pour le Webservice.

liveness_probe_requirements

Impératifs de la probe liveness pour le Webservice.

data_collection

Objet DataCollection du Webservice.

max_concurrent_requests_per_container
int

Nombre maximal de requêtes simultanées par conteneur pour le Webservice.

max_request_wait_time
int

Temps d’attente maximal des requêtes pour le Webservice, en millisecondes.

num_replicas
int

Nombre de réplicas pour le Webservice. Chaque réplica correspond à un pod AKS.

scoring_timeout_ms
int

Délai d’expiration de scoring pour le Webservice, en millisecondes.

azureml.core.webservice.AksWebservice.scoring_uri
str

Point de terminaison de scoring du Webservice

is_default

Indique si le Webservice est la version par défaut du AksEndpoint parent.

traffic_percentile
int

Pourcentage de trafic à router vers le Webservice dans le AksEndpoint parent.

version_type

Type de version du Webservice dans le AksEndpoint parent.

token_auth_enabled

Indique si l’authentification par jeton est activée pour le Webservice.

environment

Objet Environment utilisé pour créer le Webservice.

azureml.core.webservice.AksWebservice.models

Liste des modèles déployés sur le Webservice.

deployment_status
str

État du déploiement du Webservice.

namespace
str

Espace de noms AKS du Webservice.

azureml.core.webservice.AksWebservice.swagger_uri
str

Point de terminaison Swagger du Webservice.

Méthodes

add_properties

Ajoutez des paires clé-valeur au dictionnaire de propriétés de ce Webservice.

add_tags

Ajoutez des paires clé-valeur au dictionnaire d’étiquettes de ce Webservice.

Lève WebserviceException.

deploy_configuration

Crée un objet de configuration à déployer sur une cible de calcul AKS.

get_access_token

Récupère le jeton d’authentification pour ce Webservice.

get_token

DÉPRÉCIÉ. Utilisez à la place la méthode get_access_token.

Récupère le jeton d’authentification pour ce Webservice.

remove_tags

Supprime les clés spécifiées du dictionnaire d’étiquettes de ce Webservice.

run

Appelle ce Webservice avec l’entrée fournie.

serialize

Convertit ce Webservice en dictionnaire JSON sérialisé.

update

Met à jour le Webservice avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans ce Webservice.

add_properties

Ajoutez des paires clé-valeur au dictionnaire de propriétés de ce Webservice.

add_properties(properties)

Paramètres

Nom Description
properties
Obligatoire

Dictionnaire de propriétés à ajouter.

add_tags

Ajoutez des paires clé-valeur au dictionnaire d’étiquettes de ce Webservice.

Lève WebserviceException.

add_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Dictionnaire d’étiquettes à ajouter.

Exceptions

Type Description

deploy_configuration

Crée un objet de configuration à déployer sur une cible de calcul 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)

Paramètres

Nom Description
autoscale_enabled

Indique s’il est nécessaire ou non d’activer la mise à l’échelle automatique pour ce Webservice. La valeur par défaut est True si num_replicas a la valeur None.

Valeur par défaut: None
autoscale_min_replicas
int

Nombre minimal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice. La valeur par défaut est de 1.

Valeur par défaut: None
autoscale_max_replicas
int

Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice. La valeur par défaut est 10.

Valeur par défaut: None
autoscale_refresh_seconds
int

Fréquence à laquelle l’autoscaler doit tenter de mettre à l’échelle ce Webservice. La valeur par défaut est de 1.

Valeur par défaut: None
autoscale_target_utilization
int

Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour ce Webservice. La valeur par défaut est 70.

Valeur par défaut: None
collect_model_data

Indique s’il est nécessaire ou non d’activer la collecte de données de modèle pour ce Webservice. Valeur par défaut False.

Valeur par défaut: None
auth_enabled

Indique s’il est nécessaire ou non d’activer l’authentification par clé pour ce Webservice. La valeur par défaut est True.

Valeur par défaut: None
cpu_cores

Nombre de cœurs de processeur à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal. La valeur par défaut est 0.1. Correspond à la demande principale du pod, et non à la limite, dans le service Azure Kubernetes.

Valeur par défaut: None
memory_gb

Quantité de mémoire (en Go) à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal. La valeur par défaut est 0.5. Correspond à la demande de mémoire du pod, et non à la limite, dans le service Azure Kubernetes.

Valeur par défaut: None
enable_app_insights

Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour ce Webservice. Valeur par défaut False.

Valeur par défaut: None
scoring_timeout_ms
int

Délai d’expiration à appliquer pour le scoring des appels à ce Webservice. La valeur par défaut est 60000.

Valeur par défaut: None
replica_max_concurrent_requests
int

Nombre maximal de requêtes simultanées par réplica à autoriser pour ce Webservice. La valeur par défaut est de 1. Ne modifiez pas la valeur de ce paramètre (la valeur par défaut est 1), sauf indication contraire du support technique Microsoft ou d’un membre de l’équipe Azure Machine Learning.

Valeur par défaut: None
max_request_wait_time
int

Durée maximale pendant laquelle une requête reste en file d’attente (en millisecondes) avant de retourner une erreur 503. La valeur par défaut est 500.

Valeur par défaut: None
num_replicas
int

Nombre de conteneurs à allouer pour ce Webservice. Aucune valeur par défaut. Si ce paramètre n’est pas défini, l’autoscaler est activé par défaut.

Valeur par défaut: None
primary_key
str

Clé d’authentification primaire à utiliser pour ce Webservice.

Valeur par défaut: None
secondary_key
str

Clé d’authentification secondaire à utiliser pour ce Webservice.

Valeur par défaut: None
tags

Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice.

Valeur par défaut: None
properties

Dictionnaire de propriétés (clé-valeur) à fournir à ce Webservice. Vous ne pouvez pas changer ces propriétés après le déploiement. Toutefois, vous pouvez ajouter de nouvelles paires clé-valeur.

Valeur par défaut: None
description
str

Description à fournir à ce Webservice.

Valeur par défaut: None
gpu_cores
int

Nombre de cœurs GPU à allouer pour ce service web. La valeur par défaut est 0.

Valeur par défaut: None
period_seconds
int

Fréquence (en secondes) d’exécution de probe liveness. La valeur par défaut est 10 secondes. La valeur minimale est 1.

Valeur par défaut: None
initial_delay_seconds
int

Nombre de secondes après le démarrage du conteneur avant le lancement des probes liveness. La valeur par défaut est 310.

Valeur par défaut: None
timeout_seconds
int

Délai d’expiration en secondes de la probe liveness. La valeur par défaut est de 2 secondes. La valeur minimale est 1.

Valeur par défaut: None
success_threshold
int

Nombre minimal de réussites consécutives pour que la probe liveness soit considérée comme réussie après avoir échoué. La valeur par défaut est de 1. La valeur minimale est 1.

Valeur par défaut: None
failure_threshold
int

Quand un Pod démarre et que la probe liveness échoue, Kubernetes essaie FailureThreshold times avant d’abandonner. La valeur par défaut est 3. La valeur minimale est 1.

Valeur par défaut: None
namespace
str

Espace de noms Kubernetes sur lequel déployer ce Webservice : jusqu’à 63 caractères alphanumériques minuscules (lettres allant de « a » à « z », chiffres allant de « 0 » à « 9 » et traits d’union (« - »)). Le premier caractère et le dernier caractère ne peuvent pas être des traits d’union.

Valeur par défaut: None
token_auth_enabled

Indique s’il est nécessaire ou non d’activer l’authentification par jeton pour ce Webservice. Si cette option est activée, les utilisateurs peuvent accéder au Webservice en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Valeur par défaut False.

Valeur par défaut: None
compute_target_name
str

Nom de la cible de calcul sur laquelle effectuer le déploiement

Valeur par défaut: None
cpu_cores_limit

Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.

Valeur par défaut: None
memory_gb_limit

Quantité maximale de mémoire (en Go) que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.

Valeur par défaut: None
blobfuse_enabled

Indique s’il faut ou non activer blobfuse pour le téléchargement de modèle pour ce Webservice. La valeur par défaut est True

Valeur par défaut: None

Retours

Type Description

Objet de configuration à utiliser au moment du déploiement d’un AksWebservice.

Exceptions

Type Description

get_access_token

Récupère le jeton d’authentification pour ce Webservice.

get_access_token()

Retours

Type Description

Objet décrivant le jeton d’authentification de ce Webservice.

Exceptions

Type Description

get_token

DÉPRÉCIÉ. Utilisez à la place la méthode get_access_token.

Récupère le jeton d’authentification pour ce Webservice.

get_token()

Retours

Type Description

Jeton d’authentification de ce Webservice avec date/heure d’actualisation.

Exceptions

Type Description

remove_tags

Supprime les clés spécifiées du dictionnaire d’étiquettes de ce Webservice.

remove_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Liste des clés à supprimer

run

Appelle ce Webservice avec l’entrée fournie.

run(input_data)

Paramètres

Nom Description
input_data
Obligatoire
<xref:varies>

Entrée avec laquelle appeler le Webservice

Retours

Type Description

Résultat de l’appel du Webservice

Exceptions

Type Description

serialize

Convertit ce Webservice en dictionnaire JSON sérialisé.

serialize()

Retours

Type Description

Représentation JSON de ce Webservice.

update

Met à jour le Webservice avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans ce 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)

Paramètres

Nom Description
image

Nouvelle image à déployer sur le Webservice

Valeur par défaut: None
autoscale_enabled

Active ou désactive la mise à l’échelle automatique de ce Webservice

Valeur par défaut: None
autoscale_min_replicas
int

Nombre minimal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice

Valeur par défaut: None
autoscale_max_replicas
int

Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice

Valeur par défaut: None
autoscale_refresh_seconds
int

Fréquence à laquelle l’autoscaler doit tenter de mettre à l’échelle ce Webservice

Valeur par défaut: None
autoscale_target_utilization
int

Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour ce Webservice

Valeur par défaut: None
collect_model_data

Active ou désactive la collecte de données de modèle pour ce Webservice

Valeur par défaut: None
auth_enabled

Indique s’il est nécessaire ou non d’activer l’authentification pour ce Webservice

Valeur par défaut: None
cpu_cores

Nombre de cœurs de processeur à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal

Valeur par défaut: None
memory_gb

Quantité de mémoire (en Go) à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal

Valeur par défaut: None
enable_app_insights

Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour ce Webservice

Valeur par défaut: None
scoring_timeout_ms
int

Délai d’expiration à appliquer pour le scoring des appels à ce Webservice

Valeur par défaut: None
replica_max_concurrent_requests
int

Nombre maximal de requêtes simultanées par réplica à autoriser pour ce Webservice.

Valeur par défaut: None
max_request_wait_time
int

Durée maximale pendant laquelle une requête reste en file d’attente (en millisecondes) avant de retourner une erreur 503

Valeur par défaut: None
num_replicas
int

Nombre de conteneurs à allouer pour ce Webservice

Valeur par défaut: None
tags

Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice. Remplace les étiquettes existantes.

Valeur par défaut: None
properties

Dictionnaire de propriétés (clé-valeur) à ajouter au dictionnaire de propriétés existant

Valeur par défaut: None
description
str

Description à fournir à ce Webservice

Valeur par défaut: None
models

Liste d’objets Model à packager avec le service mis à jour

Valeur par défaut: None
inference_config

Objet InferenceConfig utilisé pour fournir les propriétés de déploiement de modèle nécessaires.

Valeur par défaut: None
gpu_cores
int

Nombre de cœurs de GPU à allouer pour ce Webservice

Valeur par défaut: None
period_seconds
int

Fréquence (en secondes) d’exécution de probe liveness. La valeur par défaut est 10 secondes. La valeur minimale est 1.

Valeur par défaut: None
initial_delay_seconds
int

Nombre de secondes après le démarrage du conteneur avant le lancement des probes liveness.

Valeur par défaut: None
timeout_seconds
int

Délai d’expiration en secondes de la probe liveness. La valeur par défaut est de 1 seconde. La valeur minimale est 1.

Valeur par défaut: None
success_threshold
int

Nombre minimal de réussites consécutives pour que la probe liveness soit considérée comme réussie après avoir échoué. La valeur par défaut est de 1. La valeur minimale est 1.

Valeur par défaut: None
failure_threshold
int

Quand un Pod démarre et que la probe liveness échoue, Kubernetes essaie FailureThreshold times avant d’abandonner. La valeur par défaut est 3. La valeur minimale est 1.

Valeur par défaut: None
namespace
str

Espace de noms Kubernetes sur lequel déployer ce Webservice : jusqu’à 63 caractères alphanumériques minuscules (lettres allant de « a » à « z », chiffres allant de « 0 » à « 9 » et traits d’union (« - »)). Le premier caractère et le dernier caractère ne peuvent pas être des traits d’union.

Valeur par défaut: None
token_auth_enabled

Indique s’il est nécessaire ou non d’activer l’authentification par jeton pour ce Webservice. Si cette option est activée, les utilisateurs peuvent accéder au Webservice en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Par défaut, False

Valeur par défaut: None
cpu_cores_limit

Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.

Valeur par défaut: None
memory_gb_limit

Quantité maximale de mémoire (en Go) que ce Webservice est autorisé à utiliser. Il peut s’agir d’un nombre décimal.

Valeur par défaut: None
kwargs
Obligatoire
<xref:varies>

Inclut les paramètres pour prendre en charge la migration du service Web AKS vers le point de terminaison en ligne Kubernetes et le déploiement. is_migration=True|False, compute_target=.

Exceptions

Type Description