Partager via


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 de 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 point de terminaison. Pour déployer plusieurs services sur un point de terminaison, utilisez la AksEndpoint classe.

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

Initialisez l’instance webservice.

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

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 deploy_configuration méthode, puis à l’utiliser avec la deploy méthode de la Model classe, 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)

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

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

  • deploy_from_image méthode de Webservice.

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

  • deploy méthode de l’objet 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 répertorie les attributs d’une représentation locale de l’objet AksWebservice cloud. Ces variables doivent être considérées comme en lecture seule. La modification de leurs valeurs ne sera pas reflétée dans l’objet cloud correspondant.

Variables

Nom Description
enable_app_insights

Indique si la journalisation AppInsights est activée ou non pour le service Web.

autoscaler

Objet De mise à l’échelle automatique pour le service Web.

compute_name
str

Nom du ComputeTarget sur lequel le service Web est déployé.

container_resource_requirements

Configuration requise pour les ressources de conteneur pour le service Web.

liveness_probe_requirements

Conditions requises pour la sonde liveness pour le service Web.

data_collection

Objet DataCollection pour le service Web.

max_concurrent_requests_per_container
int

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

max_request_wait_time
int

Temps d’attente maximal de la requête pour le service Web, en millisecondes.

num_replicas
int

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

scoring_timeout_ms
int

Délai d’expiration du scoring pour le service Web, en millisecondes.

azureml.core.webservice.AksWebservice.scoring_uri
str

Point de terminaison de scoring pour le service Web

is_default

Si le service Web est la version par défaut pour aksEndpoint parent.

traffic_percentile
int

Pourcentage de trafic à router vers le service Web dans le parent AksEndpoint.

version_type

Type de version pour le service Web dans le parent AksEndpoint.

token_auth_enabled

Indique si l’authentification de jeton est activée pour le service Web.

environment

Objet Environment utilisé pour créer le service Web.

azureml.core.webservice.AksWebservice.models

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

deployment_status
str

État du déploiement du service Web.

namespace
str

Espace de noms AKS du service Web.

azureml.core.webservice.AksWebservice.swagger_uri
str

Point de terminaison Swagger pour le service Web.

Méthodes

add_properties

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

add_tags

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

Déclenche un WebserviceException.

deploy_configuration

Créez un objet de configuration pour le déploiement sur une cible de calcul AKS.

get_access_token

Récupérez le jeton d’authentification pour ce service Web.

get_token

OBSOLESCENT. Utilisez get_access_token plutôt la méthode.

Récupérez le jeton d’authentification pour ce service Web.

remove_tags

Supprimez les clés spécifiées du dictionnaire de balises de ce service WebService.

run

Appelez ce service Web avec l’entrée fournie.

serialize

Convertissez ce service Web en dictionnaire sérialisé JSON.

update

Mettez à jour le service Web avec les propriétés fournies.

Les valeurs laissées comme None restent inchangées dans ce service Web.

add_properties

Ajoutez des paires clé-valeur au dictionnaire de propriétés de ce service 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 service WebService.

Déclenche un WebserviceException.

add_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Dictionnaire de balises à ajouter.

Exceptions

Type Description

deploy_configuration

Créez un objet de configuration pour le déploiement 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 faut activer la mise à l’échelle automatique pour ce service Web. La valeur par défaut est True si num_replicas n’est pas.

Valeur par défaut: None
autoscale_min_replicas
int

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

Valeur par défaut: None
autoscale_max_replicas
int

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

Valeur par défaut: None
autoscale_refresh_seconds
int

Fréquence à laquelle le générateur de mise à l’échelle automatique doit tenter de mettre à l’échelle ce service Web. La valeur par défaut est de 1.

Valeur par défaut: None
autoscale_target_utilization
int

L’utilisation cible (en pourcentage sur 100) de la mise à l’échelle automatique doit tenter de maintenir pour ce service Web. La valeur par défaut est 70.

Valeur par défaut: None
collect_model_data

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

Valeur par défaut: None
auth_enabled

Indique s’il faut activer l’authentification de clé pour ce service Web. La valeur par défaut est True.

Valeur par défaut: None
cpu_cores

Nombre de cœurs de processeur à allouer pour ce service Web. Peut être une décimale. La valeur par défaut est 0.1. Correspond à la demande de cœur de pod, et non à la limite, dans Azure Kubernetes Service.

Valeur par défaut: None
memory_gb

Quantité de mémoire (en Go) à allouer pour ce service Web. Peut être une décimale. La valeur par défaut est 0.5. Correspond à la demande de mémoire de pod, et non à la limite, dans Azure Kubernetes Service.

Valeur par défaut: None
enable_app_insights

Indique s’il faut activer ou non la journalisation Application Insights pour ce service Web. Valeur par défaut False.

Valeur par défaut: None
scoring_timeout_ms
int

Délai d’expiration à appliquer pour les appels de scoring à ce service Web. La valeur par défaut est 6 0000.

Valeur par défaut: None
replica_max_concurrent_requests
int

Nombre maximal de requêtes simultanées par réplica à autoriser pour ce service Web. La valeur par défaut est de 1. Ne modifiez pas ce paramètre de la valeur par défaut de 1, sauf indication 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 demande reste dans la 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 service Web. Aucune valeur par défaut, si ce paramètre n’est pas défini, le générateur de mise à l’échelle automatique est activé par défaut.

Valeur par défaut: None
primary_key
str

Clé d’authentification primaire à utiliser pour ce service Web.

Valeur par défaut: None
secondary_key
str

Clé d’authentification secondaire à utiliser pour ce service Web.

Valeur par défaut: None
tags

Dictionnaire de balises de valeur clé pour donner à ce service Web.

Valeur par défaut: None
properties

Dictionnaire des propriétés de valeur de clé pour donner à ce service Web. Ces propriétés ne peuvent pas être modifiées après le déploiement, mais de nouvelles paires clé-valeur peuvent être ajoutées.

Valeur par défaut: None
description
str

Description pour donner à ce service Web.

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 de 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 l’initialisation des sondes liveness. La valeur par défaut est 310.

Valeur par défaut: None
timeout_seconds
int

Nombre de secondes après lesquelles la sonde liveness expire. La valeur par défaut est de 2 secondes. La valeur minimale est 1.

Valeur par défaut: None
success_threshold
int

Les réussites consécutives minimales pour la sonde liveness doivent être considérées comme réussies 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 dans lequel déployer ce service Web : jusqu’à 63 caractères alphanumériques minuscules ('a'-'z', '0'-'9') et trait d’union ('-'). Les premiers et derniers caractères ne peuvent pas être des traits d’union.

Valeur par défaut: None
token_auth_enabled

Indique s’il faut activer l’authentification de jeton pour ce service Web. Si cette option est activée, les utilisateurs peuvent accéder à ce service web 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 à déployer sur

Valeur par défaut: None
cpu_cores_limit

Le nombre maximal de cœurs d’uc que ce service Web est autorisé à utiliser. Peut être une décimale.

Valeur par défaut: None
memory_gb_limit

La quantité maximale de mémoire (en Go) que ce service Web est autorisé à utiliser. Peut être une décimale.

Valeur par défaut: None
blobfuse_enabled

Indique s’il faut activer blobfuse pour le téléchargement de modèle pour ce service Web. Valeurs par défaut sur True

Valeur par défaut: None

Retours

Type Description

Objet de configuration à utiliser lors du déploiement d’un service AksWebservice.

Exceptions

Type Description

get_access_token

Récupérez le jeton d’authentification pour ce service Web.

get_access_token()

Retours

Type Description

Objet décrivant le jeton d’authentification pour ce service Web.

Exceptions

Type Description

get_token

OBSOLESCENT. Utilisez get_access_token plutôt la méthode.

Récupérez le jeton d’authentification pour ce service Web.

get_token()

Retours

Type Description

Jeton d’authentification pour ce service Web et quand l’actualiser.

Exceptions

Type Description

remove_tags

Supprimez les clés spécifiées du dictionnaire de balises de ce service WebService.

remove_tags(tags)

Paramètres

Nom Description
tags
Obligatoire

Liste des clés à supprimer

run

Appelez ce service Web avec l’entrée fournie.

run(input_data)

Paramètres

Nom Description
input_data
Obligatoire
<xref:varies>

Entrée avec lequel appeler le service Web

Retours

Type Description

Résultat de l’appel du service Web

Exceptions

Type Description

serialize

Convertissez ce service Web en dictionnaire sérialisé JSON.

serialize()

Retours

Type Description

Représentation JSON de ce service Web.

update

Mettez à jour le service Web avec les propriétés fournies.

Les valeurs laissées comme None restent inchangées dans ce service Web.

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 service Web

Valeur par défaut: None
autoscale_enabled

Activer ou désactiver la mise à l’échelle automatique de ce service Web

Valeur par défaut: None
autoscale_min_replicas
int

Nombre minimal de conteneurs à utiliser lors de la mise à l’échelle automatique de ce service Web

Valeur par défaut: None
autoscale_max_replicas
int

Nombre maximal de conteneurs à utiliser lors de la mise à l’échelle automatique de ce service Web

Valeur par défaut: None
autoscale_refresh_seconds
int

Fréquence à laquelle le générateur de mise à l’échelle automatique doit tenter de mettre à l’échelle ce service Web

Valeur par défaut: None
autoscale_target_utilization
int

L’utilisation cible (en pourcentage sur 100) de la mise à l’échelle automatique doit tenter de maintenir pour ce service Web

Valeur par défaut: None
collect_model_data

Activer ou désactiver la collecte de données de modèle pour ce service Web

Valeur par défaut: None
auth_enabled

Indique s’il faut activer l’authentification pour ce service Web

Valeur par défaut: None
cpu_cores

Nombre de cœurs de processeur à allouer pour ce service Web. Peut être une décimale

Valeur par défaut: None
memory_gb

Quantité de mémoire (en Go) à allouer pour ce service Web. Peut être une décimale

Valeur par défaut: None
enable_app_insights

Indique si la journalisation Application Insights est activée ou non pour ce service Web

Valeur par défaut: None
scoring_timeout_ms
int

Délai d’expiration à appliquer pour les appels de scoring à ce service Web

Valeur par défaut: None
replica_max_concurrent_requests
int

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

Valeur par défaut: None
max_request_wait_time
int

Durée maximale pendant laquelle une requête reste dans la 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 service Web

Valeur par défaut: None
tags

Dictionnaire de balises de valeur clé pour donner à ce service Web. Remplace les balises existantes.

Valeur par défaut: None
properties

Dictionnaire des propriétés de valeur de clé à ajouter au dictionnaire de propriétés existant

Valeur par défaut: None
description
str

Description pour donner à ce service Web

Valeur par défaut: None
models

Liste des objets Model à empaqueter 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 requises.

Valeur par défaut: None
gpu_cores
int

Nombre de cœurs gpu à allouer pour ce service Web

Valeur par défaut: None
period_seconds
int

Fréquence (en secondes) d’exécution de probe liveness. La valeur par défaut est de 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 l’initialisation des sondes liveness.

Valeur par défaut: None
timeout_seconds
int

Nombre de secondes après lesquelles la sonde liveness expire. La valeur par défaut est 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 dans lequel déployer ce service Web : jusqu’à 63 caractères alphanumériques minuscules ('a'-'z', '0'-'9') et trait d’union ('-'). Les premiers et derniers caractères ne peuvent pas être des traits d’union.

Valeur par défaut: None
token_auth_enabled

Indique s’il faut activer l’authentification de jeton pour ce service Web. Si cette option est activée, les utilisateurs peuvent accéder à ce service Web en récupérant le 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

Le nombre maximal de cœurs d’uc que ce service Web est autorisé à utiliser. Peut être une décimale.

Valeur par défaut: None
memory_gb_limit

La quantité maximale de mémoire (en Go) que ce service Web est autorisé à utiliser. Peut être une décimale.

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

incluez des paramètres pour prendre en charge la migration du service web AKS vers le point de terminaison et le déploiement en ligne Kubernetes. is_migration=True|False, compute_target=<cible de calcul avec l’extension AzureML installée pour héberger le point de terminaison et le déploiement> kubernetes en ligne migrés.

Exceptions

Type Description