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
|
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 :
deployméthode des Model modèles déjà inscrits dans l’espace de travail.deploy_from_imageméthode de Webservice.deploy_from_modelméthode des Webservice modèles déjà inscrits dans l’espace de travail. Cette méthode crée une image.deploymé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
|
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
|
Nombre maximal de requêtes simultanées par conteneur pour le service Web. |
|
max_request_wait_time
|
Temps d’attente maximal de la requête pour le service Web, en millisecondes. |
|
num_replicas
|
Nombre de réplicas pour le service Web. Chaque réplica correspond à un pod AKS. |
|
scoring_timeout_ms
|
Délai d’expiration du scoring pour le service Web, en millisecondes. |
|
azureml.core.webservice.AksWebservice.scoring_uri
|
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
|
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
|
État du déploiement du service Web. |
|
namespace
|
Espace de noms AKS du service Web. |
|
azureml.core.webservice.AksWebservice.swagger_uri
|
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 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
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
Clé d’authentification primaire à utiliser pour ce service Web. Valeur par défaut: None
|
|
secondary_key
|
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
|
Description pour donner à ce service Web. Valeur par défaut: None
|
|
gpu_cores
|
Nombre de cœurs GPU à allouer pour ce service Web. La valeur par défaut est 0. Valeur par défaut: None
|
|
period_seconds
|
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
|
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
|
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
|
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
|
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
|
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
|
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
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
|
Nombre minimal de conteneurs à utiliser lors de la mise à l’échelle automatique de ce service Web Valeur par défaut: None
|
|
autoscale_max_replicas
|
Nombre maximal de conteneurs à utiliser lors de la mise à l’échelle automatique de ce service Web Valeur par défaut: None
|
|
autoscale_refresh_seconds
|
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
|
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
|
Délai d’expiration à appliquer pour les appels de scoring à ce service Web Valeur par défaut: None
|
|
replica_max_concurrent_requests
|
Nombre maximal de requêtes simultanées par réplica à autoriser pour ce service Web. Valeur par défaut: None
|
|
max_request_wait_time
|
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
|
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
|
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
|
Nombre de cœurs gpu à allouer pour ce service Web Valeur par défaut: None
|
|
period_seconds
|
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
|
Nombre de secondes après le démarrage du conteneur avant l’initialisation des sondes liveness. Valeur par défaut: None
|
|
timeout_seconds
|
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
|
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
|
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
|
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 |
|---|---|