AksEndpoint Classe

Notes

Il s’agit d’une classe expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.

Représente une collection de versions de service web derrière le même point de terminaison s’exécutant sur Azure Kubernetes Service.

Alors qu’un AksWebservice déploie un seul service avec un seul point de terminaison de scoring, la classe AksEndpoint vous permet de déployer plusieurs versions de service web derrière le même point de terminaison de scoring. Chaque version de service web peut être configurée pour traiter un pourcentage du trafic afin que vous puissiez déployer des modèles de manière contrôlée, par exemple pour des tests A/B. AksEndpoint permet le déploiement à partir d’un objet de modèle similaire à AksWebservice.

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
AksEndpoint

Constructeur

AksEndpoint(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.

Variables

versions
dict[str, AksWebservice]

Dictionnaire du nom de version à l’objet de version. Contient toutes les versions déployées dans le cadre de ce point de terminaison.

Méthodes

create_version

Ajoute une nouvelle version à un point de terminaison avec les propriétés fournies.

delete_version

Supprime une version dans un point de terminaison.

deploy_configuration

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

serialize

Convertit ce Webservice en dictionnaire JSON sérialisé.

update

Met à jour le point de terminaison avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans ce point de terminaison.

update_version

Met à jour une version existante dans un point de terminaison avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans cette version.

create_version

Ajoute une nouvelle version à un point de terminaison avec les propriétés fournies.

create_version(version_name, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, cpu_cores=None, memory_gb=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, traffic_percentile=None, is_default=None, is_control_version_type=None, cpu_cores_limit=None, memory_gb_limit=None)

Paramètres

version_name
str
Obligatoire

Nom de la version à ajouter dans un point de terminaison.

autoscale_enabled
bool
valeur par défaut: None

Indique s’il est nécessaire ou non d’activer la mise à l’échelle automatique pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. La valeur par défaut est 1.

autoscale_max_replicas
int
valeur par défaut: None

Nombre maximal de conteneurs à utiliser durant la mise à l’échelle automatique de cette version dans un point de terminaison. 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 cette version dans un point de terminaison. La valeur par défaut est 1.

autoscale_target_utilization
int
valeur par défaut: None

Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. Par défaut, False

cpu_cores
float
valeur par défaut: None

Nombre de cœurs de processeur à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.1

memory_gb
float
valeur par défaut: None

Quantité de mémoire (en Go) à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.5

scoring_timeout_ms
int
valeur par défaut: None

Délai d’expiration à appliquer pour le scoring des appels de cette version dans un point de terminaison. La valeur par défaut est 60000.

replica_max_concurrent_requests
int
valeur par défaut: None

Nombre maximal de demandes simultanées par réplica à autoriser pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. Aucune valeur par défaut. Si ce paramètre n’est pas défini, l’autoscaler est activé par défaut.

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

Dictionnaire d’étiquettes clé-valeur à fournir à ce point de terminaison.

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

Dictionnaire de propriétés clé-valeur à fournir à ce point de terminaison. 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 point de terminaison.

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

Liste d’objets Model à empaqueter 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 cette version dans un point de terminaison. 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.

traffic_percentile
float
valeur par défaut: None

Volume de trafic absorbé par la version dans un point de terminaison.

is_default
bool
valeur par défaut: None

Indique s’il est nécessaire ou non de faire de cette version la version par défaut d’un point de terminaison. Valeur par défaut False.

is_control_version_type
bool
valeur par défaut: None

Indique s’il est nécessaire ou non de faire de cette version la version de contrôle d’un point de terminaison. Valeur 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. Peut être un nombre décimal.

Exceptions

delete_version

Supprime une version dans un point de terminaison.

delete_version(version_name)

Paramètres

version_name
str
Obligatoire

Nom de la version à supprimer dans un point de terminaison.

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, version_name=None, traffic_percentile=None, compute_target_name=None, cpu_cores_limit=None, memory_gb_limit=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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. La valeur par défaut est True.

cpu_cores
float
valeur par défaut: None

Nombre de cœurs de processeur à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.1

memory_gb
float
valeur par défaut: None

Quantité de mémoire (en Go) à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.5

enable_app_insights
bool
valeur par défaut: None

Indique s’il est nécessaire ou non d’activer la journalisation ApplicationInsights pour cette version dans un point de terminaison. Valeur par défaut False.

scoring_timeout_ms
int
valeur par défaut: None

Délai d’expiration à appliquer pour le scoring des appels de cette version dans un point de terminaison. La valeur par défaut est 60 000.

replica_max_concurrent_requests
int
valeur par défaut: None

Nombre maximal de demandes simultanées par réplica à autoriser pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 point de terminaison.

secondary_key
str
valeur par défaut: None

Clé d’authentification secondaire à utiliser pour ce point de terminaison.

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

Dictionnaire d’étiquettes clé-valeur à fournir à ce point de terminaison.

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

Dictionnaire de propriétés clé-valeur à fournir à ce point de terminaison. 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 point de terminaison.

gpu_cores
int
valeur par défaut: None

Nombre de cœurs de GPU à allouer pour cette version dans un point de terminaison. 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

Lorsqu’un Pod démarre et que la probe liveness échoue, Kubernetes essaie failureThreshold fois 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 point de terminaison : 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 point de terminaison. Si cette option est activée, les utilisateurs peuvent accéder au point de terminaison en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Valeur par défaut False.

version_name
str
valeur par défaut: None

Nom de la version dans un point de terminaison.

traffic_percentile
float
valeur par défaut: None

Volume de trafic absorbé par la version dans un point de terminaison.

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.

Type de retour

Exceptions

serialize

Convertit ce Webservice en dictionnaire JSON sérialisé.

serialize()

Retours

Représentation JSON de ce Webservice.

Type de retour

Exceptions

update

Met à jour le point de terminaison avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans ce point de terminaison.

update(auth_enabled=None, token_auth_enabled=None, enable_app_insights=None, description=None, tags=None, properties=None)

Paramètres

auth_enabled
bool
valeur par défaut: None

Indique s’il est nécessaire ou non d’activer l’authentification par clé pour cette version dans un point de terminaison. La valeur par défaut est True.

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 point de terminaison. Si cette option est activée, les utilisateurs peuvent accéder au point de terminaison en récupérant un jeton d’accès à l’aide de leurs informations d’identification Azure Active Directory. Valeur par défaut False.

enable_app_insights
bool
valeur par défaut: None

Indique s’il est nécessaire ou non d’activer la journalisation Application Insights pour cette version dans un point de terminaison. Valeur par défaut False.

description
str
valeur par défaut: None

Description à fournir à ce point de terminaison.

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

Dictionnaire d’étiquettes clé-valeur à fournir à ce point de terminaison.

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

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

Exceptions

update_version

Met à jour une version existante dans un point de terminaison avec les propriétés fournies.

Les valeurs pour lesquelles None est spécifié restent inchangées dans cette version.

update_version(version_name, autoscale_enabled=None, autoscale_min_replicas=None, autoscale_max_replicas=None, autoscale_refresh_seconds=None, autoscale_target_utilization=None, collect_model_data=None, cpu_cores=None, memory_gb=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, traffic_percentile=None, is_default=None, is_control_version_type=None, cpu_cores_limit=None, memory_gb_limit=None)

Paramètres

version_name
str
Obligatoire

Nom de la version dans un point de terminaison.

autoscale_enabled
bool
valeur par défaut: None

Indique s’il est nécessaire ou non d’activer la mise à l’échelle automatique pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. 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 cette version dans un point de terminaison. La valeur par défaut est 1.

autoscale_target_utilization
int
valeur par défaut: None

Utilisation cible en pourcentage que l’autoscaler doit tenter de conserver pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. Valeur par défaut False.

cpu_cores
float
valeur par défaut: None

Nombre de cœurs de processeur à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.1

memory_gb
float
valeur par défaut: None

Quantité de mémoire (en Go) à allouer pour cette version dans un point de terminaison. Peut être un nombre décimal. La valeur par défaut est 0.5

scoring_timeout_ms
int
valeur par défaut: None

Délai d’expiration à appliquer pour le scoring des appels de cette version dans un point de terminaison. La valeur par défaut est 60000.

replica_max_concurrent_requests
int
valeur par défaut: None

Nombre maximal de demandes simultanées par réplica à autoriser pour cette version dans un point de terminaison. 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 cette version dans un point de terminaison. Aucune valeur par défaut. Si ce paramètre n’est pas défini, l’autoscaler est activé par défaut.

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

Dictionnaire d’étiquettes clé-valeur à fournir à ce point de terminaison.

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

Dictionnaire de propriétés clé-valeur à fournir à ce point de terminaison. 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 point de terminaison.

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 cette version dans un point de terminaison. 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.

traffic_percentile
float
valeur par défaut: None

Volume de trafic absorbé par la version dans un point de terminaison.

is_default
bool
valeur par défaut: None

Indique s’il est nécessaire ou non de faire de cette version la version par défaut d’un point de terminaison. Valeur par défaut False.

is_control_version_type
bool
valeur par défaut: None

Indique s’il est nécessaire ou non de faire de cette version la version de contrôle d’un point de terminaison. Valeur 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. Peut être un nombre décimal.

Exceptions