AksEndpoint Classe

Nota

Si tratta di una classe sperimentale e può cambiare in qualsiasi momento. Per altre informazioni, vedere https://aka.ms/azuremlexperimental.

Rappresenta una raccolta di versioni del servizio Web dietro lo stesso endpoint in esecuzione in servizio Azure Kubernetes.

Mentre un AksWebservice oggetto distribuisce un singolo servizio con un singolo endpoint di assegnazione dei punteggi, la classe AksEndpoint consente di distribuire più versioni del servizio Web dietro lo stesso endpoint di assegnazione dei punteggi. Ogni versione del servizio Web può essere configurata per gestire una percentuale del traffico in modo da poter distribuire modelli in modo controllato, ad esempio per i test A/B. AksEndpoint consente la distribuzione da un oggetto modello simile a AksWebservice.

Inizializzare l'istanza del servizio Web.

Il costruttore webservice recupera una rappresentazione cloud di un oggetto Servizio Web associato all'area di lavoro specificata. Restituisce un'istanza di una classe figlio corrispondente al tipo specifico dell'oggetto Webservice recuperato.

Ereditarietà
AksEndpoint

Costruttore

AksEndpoint(workspace, name)

Parametri

workspace
Workspace
Necessario

Oggetto workspace contenente l'oggetto Webservice da recuperare.

name
str
Necessario

Nome dell'oggetto Webservice da recuperare.

Variabili

versions
dict[str, AksWebservice]

Dizionario del nome della versione per l'oggetto version. Contiene tutte le versioni distribuite come parte di questo endpoint.

Metodi

create_version

Aggiungere una nuova versione in un endpoint con le proprietà specificate.

delete_version

Eliminare una versione in un endpoint.

deploy_configuration

Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes.

serialize

Convertire questo servizio Web in un dizionario serializzato JSON.

update

Aggiornare l'endpoint con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questo endpoint

update_version

Aggiornare una versione esistente in un endpoint con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questa versione.

create_version

Aggiungere una nuova versione in un endpoint con le proprietà specificate.

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)

Parametri

version_name
str
Necessario

Nome della versione da aggiungere in un endpoint.

autoscale_enabled
bool
valore predefinito: None

Indica se abilitare o meno la scalabilità automatica per questa versione in un endpoint. Il valore predefinito è True se num_replicas non è Nessuno.

autoscale_min_replicas
int
valore predefinito: None

Numero minimo di contenitori da usare per la scalabilità automatica di questa versione in un endpoint. Il valore predefinito è 1

autoscale_max_replicas
int
valore predefinito: None

Numero massimo di contenitori da usare per la scalabilità automatica di questa versione in un endpoint. Il valore predefinito è 10

autoscale_refresh_seconds
int
valore predefinito: None

Frequenza con cui l'utilità di scalabilità automatica deve tentare di ridimensionare questa versione in un endpoint. Il valore predefinito è 1

autoscale_target_utilization
int
valore predefinito: None

L'utilizzo di destinazione ,in percentuale su 100, il ridimensionamento automatico deve tentare di mantenere per questa versione in un endpoint. Il valore predefinito è 70

collect_model_data
bool
valore predefinito: None

Indica se abilitare o meno la raccolta dei dati del modello per questa versione in un endpoint. Il valore predefinito è False

cpu_cores
float
valore predefinito: None

Numero di core CPU da allocare per questa versione in un endpoint. Può essere un decimale. Il valore predefinito è 0.1

memory_gb
float
valore predefinito: None

Quantità di memoria (in GB) da allocare per questa versione in un endpoint. Può essere un decimale. Il valore predefinito è 0.5

scoring_timeout_ms
int
valore predefinito: None

Timeout da applicare per l'assegnazione dei punteggi alle chiamate a questa versione in un endpoint. Il valore predefinito è 60000.

replica_max_concurrent_requests
int
valore predefinito: None

Numero massimo di richieste simultanee per replica che consentono questa versione in un endpoint. Assume il valore predefinito 1. Non modificare questa impostazione dal valore predefinito 1, a meno che non venga richiesto dal supporto tecnico Microsoft o da un membro del team di Azure Machine Learning.

max_request_wait_time
int
valore predefinito: None

La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503. Il valore predefinito è 500.

num_replicas
int
valore predefinito: None

Numero di contenitori da allocare per questa versione in un endpoint. Nessun valore predefinito, se questo parametro non è impostato, l'utilità di scalabilità automatica è abilitata per impostazione predefinita.

tags
dict[str, str]
valore predefinito: None

Dizionario dei tag chiave-valore da assegnare a questo endpoint.

properties
dict[str, str]
valore predefinito: None

Dizionario delle proprietà chiave-valore per assegnare questo endpoint. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie chiave-valore.

description
str
valore predefinito: None

Descrizione da assegnare a questo endpoint.

models
list[Model]
valore predefinito: None

Elenco di oggetti Model da creare in un pacchetto con il servizio aggiornato.

inference_config
InferenceConfig
valore predefinito: None

Oggetto InferenceConfig usato per fornire le proprietà di distribuzione del modello necessarie.

gpu_cores
int
valore predefinito: None

Numero di core GPU da allocare per questa versione in un endpoint. Il valore predefinito è 0.

period_seconds
int
valore predefinito: None

La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.

initial_delay_seconds
int
valore predefinito: None

Numero di secondi dopo l'avvio del contenitore prima dell'avvio dei probe di attività. Il valore predefinito è 310.

timeout_seconds
int
valore predefinito: None

Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 2 secondi. Il valore minimo è 1.

success_threshold
int
valore predefinito: None

Numero minimo di successi consecutivi per il probe di attività da considerare riuscito dopo l'esito negativo. Assume il valore predefinito 1. Il valore minimo è 1.

failure_threshold
int
valore predefinito: None

Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.

traffic_percentile
float
valore predefinito: None

Quantità di traffico impiegato dalla versione in un endpoint.

is_default
bool
valore predefinito: None

Indica se impostare o meno questa versione come versione predefinita in un endpoint. Il valore predefinito è False.

is_control_version_type
bool
valore predefinito: None

Indica se impostare o meno questa versione come versione del controllo in un endpoint. Il valore predefinito è False.

cpu_cores_limit
float
valore predefinito: None

È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale.

memory_gb_limit
float
valore predefinito: None

La quantità massima di memoria (in GB) che questo servizio Web può usare. Può essere un decimale.

Eccezioni

delete_version

Eliminare una versione in un endpoint.

delete_version(version_name)

Parametri

version_name
str
Necessario

Nome della versione in un endpoint da eliminare.

Eccezioni

deploy_configuration

Creare un oggetto di configurazione per la distribuzione in una destinazione di calcolo del servizio Azure Kubernetes.

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)

Parametri

autoscale_enabled
bool
valore predefinito: None

Indica se abilitare o meno la scalabilità automatica per questa versione in un endpoint. Il valore predefinito è True se num_replicas non è Nessuno.

autoscale_min_replicas
int
valore predefinito: None

Numero minimo di contenitori da usare durante la scalabilità automatica di questa versione in un endpoint. Assume il valore predefinito 1.

autoscale_max_replicas
int
valore predefinito: None

Numero massimo di contenitori da usare durante la scalabilità automatica di questa versione in un endpoint. Il valore predefinito è 10.

autoscale_refresh_seconds
int
valore predefinito: None

La frequenza con cui il ridimensionatore automatico deve tentare di ridimensionare questa versione in un endpoint. Assume il valore predefinito 1.

autoscale_target_utilization
int
valore predefinito: None

L'utilizzo di destinazione (in percentuale superiore a 100) il ridimensionatore automatico deve tentare di mantenere per questa versione in un endpoint. Il valore predefinito è 70.

collect_model_data
bool
valore predefinito: None

Indica se abilitare o meno la raccolta dati del modello per questa versione in un endpoint. Il valore predefinito è False.

auth_enabled
bool
valore predefinito: None

Indica se abilitare o meno l'autenticazione della chiave per questa versione in un endpoint. Impostazione predefinita su True.

cpu_cores
float
valore predefinito: None

Numero di core cpu da allocare per questa versione in un endpoint. Può essere un decimale. Impostazione predefinita a 0.1

memory_gb
float
valore predefinito: None

Quantità di memoria (in GB) da allocare per questa versione in un endpoint. Può essere un decimale. Impostazione predefinita a 0,5

enable_app_insights
bool
valore predefinito: None

Indica se abilitare o meno la registrazione di ApplicationInsights per questa versione in un endpoint. Il valore predefinito è False.

scoring_timeout_ms
int
valore predefinito: None

Timeout per applicare le chiamate di assegnazione dei punteggi a questa versione in un endpoint. Impostazione predefinita a 60000

replica_max_concurrent_requests
int
valore predefinito: None

Numero di richieste simultanee massime per replica per consentire questa versione in un endpoint. Assume il valore predefinito 1. Non modificare questa impostazione dal valore predefinito di 1 a meno che non sia stato indicato dal supporto tecnico Microsoft o da un membro del team di Azure Machine Learning.

max_request_wait_time
int
valore predefinito: None

La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503. Il valore predefinito è 500.

num_replicas
int
valore predefinito: None

Numero di contenitori da allocare per questa versione in un endpoint. Nessun valore predefinito, se questo parametro non è impostato, il ridimensionamento automatico è abilitato per impostazione predefinita.

primary_key
str
valore predefinito: None

Chiave di autenticazione primaria da usare per questo endpoint.

secondary_key
str
valore predefinito: None

Chiave di autenticazione secondaria da usare per questo endpoint.

tags
dict[str, str]
valore predefinito: None

Dizionario dei tag chiave per assegnare questo endpoint.

properties
dict[str, str]
valore predefinito: None

Dizionario delle proprietà del valore chiave da assegnare all'endpoint. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie di valori chiave

description
str
valore predefinito: None

Descrizione da assegnare all'endpoint.

gpu_cores
int
valore predefinito: None

Numero di core GPU da allocare per questa versione in un endpoint. Il valore predefinito è 0.

period_seconds
int
valore predefinito: None

La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.

initial_delay_seconds
int
valore predefinito: None

Il numero di secondi dopo l'avvio del contenitore prima che vengano avviati i probe di attività. Il valore predefinito è 310.

timeout_seconds
int
valore predefinito: None

Numero di secondi dopo il quale il probe di liveness timeout. Il valore predefinito è 2 secondi. Il valore minimo è 1.

success_threshold
int
valore predefinito: None

Il numero minimo di successi consecutivi perché il probe di attività venga considerato riuscito dopo un errore. Assume il valore predefinito 1. Il valore minimo è 1.

failure_threshold
int
valore predefinito: None

Quando un pod inizia e il probe di liveness ha esito negativo, Kubernetes tenterà failureThreshold i tempi prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.

namespace
str
valore predefinito: None

Spazio dei nomi Kubernetes in cui distribuire questo endpoint: fino a 63 caratteri alfanumerici minuscoli ('a'-'z', '0'-'9') e trattino ('-'). I primi e gli ultimi caratteri non possono essere trattini.

token_auth_enabled
bool
valore predefinito: None

Indica se abilitare l'autenticazione del token per questo endpoint. Se questa opzione è abilitata, gli utenti possono accedere a questo endpoint recuperando il token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False.

version_name
str
valore predefinito: None

Nome della versione in un endpoint.

traffic_percentile
float
valore predefinito: None

la quantità di traffico che la versione accetta in un endpoint.

compute_target_name
str
valore predefinito: None

Nome della destinazione di calcolo da distribuire in

cpu_cores_limit
float
valore predefinito: None

Il numero massimo di core cpu che questo servizio Web può usare. Può essere un decimale.

memory_gb_limit
float
valore predefinito: None

La quantità massima di memoria (in GB) di questo servizio Web è consentita per l'uso. Può essere un decimale.

Tipo restituito

Eccezioni

serialize

Convertire questo servizio Web in un dizionario serializzato JSON.

serialize()

Restituisce

Rappresentazione JSON di questo servizio Web.

Tipo restituito

Eccezioni

update

Aggiornare l'endpoint con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questo endpoint

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

Parametri

auth_enabled
bool
valore predefinito: None

Indica se abilitare o meno l'autenticazione della chiave per questa versione in un endpoint. Impostazione predefinita su True.

token_auth_enabled
bool
valore predefinito: None

Indica se abilitare l'autenticazione del token per questo endpoint. Se questa opzione è abilitata, gli utenti possono accedere a questo endpoint recuperando il token di accesso usando le credenziali di Azure Active Directory. Il valore predefinito è False.

enable_app_insights
bool
valore predefinito: None

Indica se abilitare o meno la registrazione di Application Insights per questa versione in un endpoint. Il valore predefinito è False.

description
str
valore predefinito: None

Descrizione da assegnare all'endpoint.

tags
dict[str, str]
valore predefinito: None

Dizionario dei tag chiave per assegnare questo endpoint.

properties
dict[str, str]
valore predefinito: None

Dizionario delle proprietà del valore chiave da assegnare all'endpoint. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie di valori chiave.

Eccezioni

update_version

Aggiornare una versione esistente in un endpoint con le proprietà specificate.

I valori lasciati come None rimarranno invariati in questa versione.

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)

Parametri

version_name
str
Necessario

Nome della versione in un endpoint.

autoscale_enabled
bool
valore predefinito: None

Indica se abilitare la scalabilità automatica per questa versione in un endpoint. Il valore predefinito è True se num_replicas è Nessuna.

autoscale_min_replicas
int
valore predefinito: None

Numero minimo di contenitori da usare durante la scalabilità automatica di questa versione in un endpoint. Assume il valore predefinito 1.

autoscale_max_replicas
int
valore predefinito: None

Numero massimo di contenitori da usare durante la scalabilità automatica di questa versione in un endpoint. Il valore predefinito è 10.

autoscale_refresh_seconds
int
valore predefinito: None

La frequenza con cui il ridimensionatore automatico deve tentare di ridimensionare questa versione in un endpoint. Impostazione predefinita su 1

autoscale_target_utilization
int
valore predefinito: None

L'utilizzo di destinazione (in percentuale superiore a 100) il ridimensionatore automatico deve tentare di mantenere per questa versione in un endpoint. Il valore predefinito è 70.

collect_model_data
bool
valore predefinito: None

Indica se abilitare o meno la raccolta dati del modello per questa versione in un endpoint. Il valore predefinito è False.

cpu_cores
float
valore predefinito: None

Numero di core cpu da allocare per questa versione in un endpoint. Può essere un decimale. Impostazione predefinita a 0.1

memory_gb
float
valore predefinito: None

Quantità di memoria (in GB) da allocare per questa versione in un endpoint. Può essere un decimale. Impostazione predefinita a 0,5

scoring_timeout_ms
int
valore predefinito: None

Timeout da applicare per l'assegnazione dei punteggi a questa versione in un endpoint. Il valore predefinito è 60000.

replica_max_concurrent_requests
int
valore predefinito: None

Numero massimo di richieste simultanee per replica che consentono questa versione in un endpoint. Assume il valore predefinito 1. Non modificare questa impostazione dal valore predefinito 1, a meno che non venga richiesto dal supporto tecnico Microsoft o da un membro del team di Azure Machine Learning.

max_request_wait_time
int
valore predefinito: None

La quantità massima di tempo per cui una richiesta rimarrà nella coda (in millisecondi) prima di restituire un errore 503. Il valore predefinito è 500.

num_replicas
int
valore predefinito: None

Numero di contenitori da allocare per questa versione in un endpoint. Nessun valore predefinito, se questo parametro non è impostato, l'utilità di scalabilità automatica è abilitata per impostazione predefinita.

tags
dict[str, str]
valore predefinito: None

Dizionario dei tag chiave-valore da assegnare a questo endpoint.

properties
dict[str, str]
valore predefinito: None

Dizionario delle proprietà chiave-valore per assegnare questo endpoint. Queste proprietà non possono essere modificate dopo la distribuzione, ma è possibile aggiungere nuove coppie chiave-valore.

description
str
valore predefinito: None

Descrizione da assegnare a questo endpoint

models
list[Model]
valore predefinito: None

Elenco di oggetti Model da creare in un pacchetto con il servizio aggiornato

inference_config
InferenceConfig
valore predefinito: None

Oggetto InferenceConfig usato per fornire le proprietà di distribuzione del modello necessarie.

gpu_cores
int
valore predefinito: None

Numero di core GPU da allocare per questa versione in un endpoint. Il valore predefinito è 0.

period_seconds
int
valore predefinito: None

La frequenza (in secondi) con cui eseguire il probe di attività. Il valore predefinito è 10 secondi. Il valore minimo è 1.

initial_delay_seconds
int
valore predefinito: None

Numero di secondi dopo l'avvio del contenitore prima dell'avvio dei probe di attività. Il valore predefinito è 310.

timeout_seconds
int
valore predefinito: None

Numero di secondi dopo il quale si verifica il timeout del probe di attività. Il valore predefinito è 2 secondi. Il valore minimo è 1.

success_threshold
int
valore predefinito: None

Numero minimo di successi consecutivi per il probe di attività da considerare riuscito dopo l'esito negativo. Assume il valore predefinito 1. Il valore minimo è 1.

failure_threshold
int
valore predefinito: None

Quando un pod viene avviato e il probe di attività non riesce, Kubernetes continuerà a provare per il numero di volte indicato in failureThreshold prima di rinunciare. Il valore predefinito è 3. Il valore minimo è 1.

traffic_percentile
float
valore predefinito: None

Quantità di traffico impiegato dalla versione in un endpoint.

is_default
bool
valore predefinito: None

Indica se impostare o meno questa versione come versione predefinita in un endpoint. Il valore predefinito è False.

is_control_version_type
bool
valore predefinito: None

Indica se impostare o meno questa versione come versione del controllo in un endpoint. Il valore predefinito è False.

cpu_cores_limit
float
valore predefinito: None

È consentito usare il numero massimo di core cpu per questo servizio Web. Può essere un decimale.

memory_gb_limit
float
valore predefinito: None

La quantità massima di memoria (in GB) che questo servizio Web può usare. Può essere un decimale.

Eccezioni