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

workspace
Workspace
Obligatoire

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

name
str
Obligatoire

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

enable_app_insights
bool

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

autoscaler
AutoScaler

Objet Autoscaler du Webservice.

compute_name
str

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

container_resource_requirements
ContainerResourceRequirements

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

liveness_probe_requirements
LivenessProbeRequirements

Impératifs de la probe liveness pour le Webservice.

data_collection
DataCollection

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
bool

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
VersionType

Type de version du Webservice dans le AksEndpoint parent.

token_auth_enabled
bool

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

environment
Environment

Objet Environment utilisé pour créer le Webservice.

azureml.core.webservice.AksWebservice.models
list[Model]

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

properties
dict[str, str]
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

tags
dict[str, str]
Obligatoire

Dictionnaire d’étiquettes à ajouter.

Exceptions

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

autoscale_enabled
bool
valeur par défaut: None

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.

autoscale_min_replicas
int
valeur par défaut: None

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

autoscale_max_replicas
int
valeur par défaut: None

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

autoscale_refresh_seconds
int
valeur par défaut: None

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

autoscale_target_utilization
int
valeur par défaut: None

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

collect_model_data
bool
valeur par défaut: None

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.

auth_enabled
bool
valeur par défaut: None

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

cpu_cores
float
valeur par défaut: None

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.

memory_gb
float
valeur par défaut: None

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.

enable_app_insights
bool
valeur par défaut: None

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

scoring_timeout_ms
int
valeur par défaut: None

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

replica_max_concurrent_requests
int
valeur par défaut: None

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.

max_request_wait_time
int
valeur par défaut: None

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.

num_replicas
int
valeur par défaut: None

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.

primary_key
str
valeur par défaut: None

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

secondary_key
str
valeur par défaut: None

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

tags
dict[str, str]
valeur par défaut: None

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

properties
dict[str, str]
valeur par défaut: None

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.

description
str
valeur par défaut: None

Description à fournir à ce Webservice.

gpu_cores
int
valeur par défaut: None

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

period_seconds
int
valeur par défaut: None

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

initial_delay_seconds
int
valeur par défaut: None

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

timeout_seconds
int
valeur par défaut: None

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

success_threshold
int
valeur par défaut: None

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.

failure_threshold
int
valeur par défaut: None

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.

namespace
str
valeur par défaut: None

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.

token_auth_enabled
bool
valeur par défaut: None

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.

compute_target_name
str
valeur par défaut: None

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

cpu_cores_limit
float
valeur par défaut: None

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

memory_gb_limit
float
valeur par défaut: None

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

blobfuse_enabled
bool
valeur par défaut: None

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

Retours

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

Type de retour

Exceptions

get_access_token

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

get_access_token()

Retours

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

Type de retour

Exceptions

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

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

Type de retour

Exceptions

remove_tags

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

remove_tags(tags)

Paramètres

tags
list[str]
Obligatoire

Liste des clés à supprimer

run

Appelle ce Webservice avec l’entrée fournie.

run(input_data)

Paramètres

input_data
<xref:varies>
Obligatoire

Entrée avec laquelle appeler le Webservice

Retours

Résultat de l’appel du Webservice

Type de retour

Exceptions

serialize

Convertit ce Webservice en dictionnaire JSON sérialisé.

serialize()

Retours

Représentation JSON de ce Webservice.

Type de retour

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

image
Image
valeur par défaut: None

Nouvelle image à déployer sur le Webservice

autoscale_enabled
bool
valeur par défaut: None

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

autoscale_min_replicas
int
valeur par défaut: None

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

autoscale_max_replicas
int
valeur par défaut: None

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

autoscale_refresh_seconds
int
valeur par défaut: None

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

autoscale_target_utilization
int
valeur par défaut: None

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

collect_model_data
bool
valeur par défaut: None

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

auth_enabled
bool
valeur par défaut: None

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

cpu_cores
float
valeur par défaut: None

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

memory_gb
float
valeur par défaut: None

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

enable_app_insights
bool
valeur par défaut: None

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

scoring_timeout_ms
int
valeur par défaut: None

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

replica_max_concurrent_requests
int
valeur par défaut: None

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

max_request_wait_time
int
valeur par défaut: None

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

num_replicas
int
valeur par défaut: None

Nombre de conteneurs à allouer pour ce Webservice

tags
dict[str, str]
valeur par défaut: None

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

properties
dict[str, str]
valeur par défaut: None

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

description
str
valeur par défaut: None

Description à fournir à ce Webservice

models
list[Model]
valeur par défaut: None

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

inference_config
InferenceConfig
valeur par défaut: None

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

gpu_cores
int
valeur par défaut: None

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

period_seconds
int
valeur par défaut: None

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

initial_delay_seconds
int
valeur par défaut: None

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

timeout_seconds
int
valeur par défaut: None

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

success_threshold
int
valeur par défaut: None

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.

failure_threshold
int
valeur par défaut: None

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.

namespace
str
valeur par défaut: None

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.

token_auth_enabled
bool
valeur par défaut: None

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

cpu_cores_limit
float
valeur par défaut: None

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

memory_gb_limit
float
valeur par défaut: None

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

kwargs
<xref:varies>
Obligatoire

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