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. Elle 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
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.
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 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
add_tags
Ajoutez des paires clé-valeur au dictionnaire d’étiquettes de ce Webservice.
Lève WebserviceException.
add_tags(tags)
Paramètres
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
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
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
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
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
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
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
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
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
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
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
Délai d’expiration à appliquer pour le scoring des appels à ce Webservice. La valeur par défaut est 60000.
- 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.
- 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.
- 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.
- primary_key
- str
Clé d’authentification primaire à utiliser pour ce Webservice.
- secondary_key
- str
Clé d’authentification secondaire à utiliser pour ce Webservice.
Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice.
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.
- gpu_cores
- int
Nombre de cœurs GPU à allouer pour ce service web. La valeur par défaut est 0.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- token_auth_enabled
- bool
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
Nom de la cible de calcul sur laquelle effectuer le déploiement
- cpu_cores_limit
- float
Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.
- memory_gb_limit
- float
Quantité maximale de mémoire (en Go) que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.
- blobfuse_enabled
- bool
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
run
Appelle ce Webservice avec l’entrée fournie.
run(input_data)
Paramètres
- input_data
- <xref:varies>
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
- autoscale_enabled
- bool
Active ou désactive la mise à l’échelle automatique de ce Webservice
- autoscale_min_replicas
- int
Nombre minimal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice
- autoscale_max_replicas
- int
Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de ce Webservice
- autoscale_refresh_seconds
- int
Fréquence à laquelle l’autoscaler doit tenter de mettre à l’échelle ce Webservice
- autoscale_target_utilization
- int
Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour ce Webservice
- collect_model_data
- bool
Active ou désactive la collecte de données de modèle pour ce Webservice
- auth_enabled
- bool
Indique s’il est nécessaire ou non d’activer l’authentification pour ce Webservice
- cpu_cores
- float
Nombre de cœurs de processeur à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal
- memory_gb
- float
Quantité de mémoire (en Go) à allouer pour ce Webservice. Il peut s’agir d’un nombre décimal
- enable_app_insights
- bool
Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour ce Webservice
- scoring_timeout_ms
- int
Délai d’expiration à appliquer pour le scoring des appels à ce Webservice
- replica_max_concurrent_requests
- int
Nombre maximal de requêtes simultanées par réplica à autoriser pour ce Webservice.
- 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
Dictionnaire d’étiquettes (clé-valeur) à fournir à ce Webservice. Remplace les étiquettes existantes.
Dictionnaire de propriétés (clé-valeur) à ajouter au dictionnaire de propriétés existant
Liste d’objets Model à packager avec le service mis à jour
- inference_config
- InferenceConfig
Objet InferenceConfig utilisé pour fournir les propriétés de déploiement de modèle nécessaires.
- 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.
- initial_delay_seconds
- int
Nombre de secondes après le démarrage du conteneur avant le lancement des probes liveness.
- 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.
- 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.
- 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.
- 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.
- token_auth_enabled
- bool
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
Nombre maximal de cœurs de processeur que ce Webservice est autorisé à utiliser. Peut être un nombre décimal.
- memory_gb_limit
- float
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>
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour