Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
MLServer
azureml.deploy.server.MLServer
Basi: azureml.deploy.operationalization.Operationalization
Questo modulo fornisce un'implementazione del servizio per ML Server.
autenticazione
authentication(context)
Annotazioni
Anche se Microsoft Entra ID è il nuovo nome per Azure Active Directory (Azure AD), per evitare l'interruzione degli ambienti esistenti, la denominazione Azure AD è tuttora mantenuta in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici errore e cmdlet. All’interno di questo articolo i due nomi vengono utilizzati in modo intercambiabile.
Prevalere
Metodo del ciclo di vita dell'autenticazione chiamato dal framework. Richiama il punto di ingresso dell'autenticazione per la gerarchia di classi.
ML Server supporta due forme di contesti di autenticazione:
LDAP: tupla (nome utente, password)
Azure Active Directory (AAD): dict {...}
access-token: str =4534535
Arguments
context
Contesto di autenticazione: LDAP, Azure Active Directory (AAD) o stringa di token di accesso esistente.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
create_or_update_service_pool
create_or_update_service_pool(name, version, initial_pool_size, max_pool_size, **opts)
Crea o aggiorna il pool per il servizio Web pubblicato, con le dimensioni iniziali e massime del pool nel server ML in base al nome e alla versione.
Esempio:
>>> client.create_or_update_service_pool(
'regression',
version = 'v1.0.0',
initial_pool_size = 1,
maximum_pool_size = 10)
<Response [200]>
>>>
Arguments
nome
Nome univoco del servizio Web.
version
Versione del servizio Web.
initial_pool_size
Dimensioni iniziali del pool per il servizio Web.
max_pool_size
Dimensioni massime del pool per il servizio Web. Non può essere minore di initial_pool_size.
Restituzioni
requests.models.Response: stato HTTP che indica se la richiesta è stata inviata correttamente o meno.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
delete_service
delete_service(name, **opts)
Eliminare un servizio Web.
success = client.delete_service('example', version='v1.0.1')
print(success)
True
Arguments
nome
Nome del servizio Web.
Opta
Versione del servizio Web (version='v1.0.1).
Restituzioni
Oggetto bool che indica che l'eliminazione del servizio è stata completata.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
delete_service_pool
delete_service_pool(name, version, **opts)
Eliminare il pool per il servizio Web pubblicato nel server ML in base al nome e alla versione.
Esempio:
>>> client.delete_service_pool('regression', version = 'v1.0.0')
<Response [200]>
>>>
Arguments
nome
Nome univoco del servizio Web.
version
Versione del servizio Web.
Restituzioni
requests.models.Response: stato HTTP se il pool è stato eliminato per il servizio.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
deploy_realtime
deploy_realtime(name, **opts)
Pubblicare un nuovo servizio Web in tempo reale nel server ML in base al nome e alla versione.
Tutti i tipi di input e output vengono definiti come .pandas.DataFrame
Esempio:
model = rx_serialize_model(model, realtime_scoring_only=True)
opts = {
'version': 'v1.0.0',
'description': 'Real-time service description.',
'serialized_model': model
}
service = client.deploy_realtime('scoring', **opts)
df = movie_reviews.as_df()
res = service.consume(df)
answer = res.outputs
Annotazioni
L'uso di deploy_realtime() in questo modo è identico alla pubblicazione di un servizio tramite le API Fluent deploy()
Arguments
nome
Nome del servizio Web.
Opta
Proprietà del servizio da pubblicare come .dict Il consenso esplicito supporta le proprietà facoltative seguenti:
version (str): definisce una versione univoca del servizio Web alfanumerico. Se la versione viene lasciata vuota, viene generato un GUID univoco al suo posto. Utile durante lo sviluppo del servizio prima che l'autore sia pronto per pubblicare ufficialmente una versione semantica da condividere.
description (str) - Descrizione del servizio.
alias (str): nome della funzione consume. L'impostazione predefinita è utilizzata.
Restituzioni
Nuova istanza di Service che rappresenta la ridistribuzione del servizio in tempo reale.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
deploy_service
deploy_service(name, **opts)
Pubblicare un nuovo servizio Web nel server ML in base al nome e alla versione.
Esempio:
opts = {
'version': 'v1.0.0',
'description': 'Service description.',
'code_fn': run,
'init_fn': init,
'objects': {'local_obj': 50},
'models': {'model': 100},
'inputs': {'x': int},
'outputs': {'answer': float},
'artifacts': ['histogram.png'],
'alias': 'consume_service_fn_alias'
}
service = client.deploy('regression', **opts)
res = service.consume_service_fn_alias(100)
answer = res.output('answer')
histogram = res.artifact('histogram.png')
Annotazioni
L'uso deploy_service() in questo modo è identico alla pubblicazione di un servizio usando l'API deploy()Fluent.
Arguments
nome
Nome univoco del servizio Web.
Opta
Proprietà del servizio da pubblicare. Opts dict supporta le proprietà facoltative seguenti:
version (str): definisce una versione univoca del servizio Web alfanumerico. Se la versione viene lasciata vuota, viene generato un GUID univoco al suo posto. Utile durante lo sviluppo del servizio prima che l'autore sia pronto per pubblicare ufficialmente una versione semantica da condividere.
description (str) - Descrizione del servizio.
code_str (str): blocco di codice Python da eseguire e valutare.
init_str (str): blocco di codice Python per inizializzare il servizio.
code_fn (funzione): funzione da eseguire e valutare.
init_fn (funzione): funzione da inizializzare il servizio.
oggetti (dict): nome e valore degli oggetti da includere.
models (dict): nome e valore dei modelli da includere.
input (dict): schema di input del servizio per nome e tipo. Sono supportati i tipi seguenti:
int
galleggiare
str
bool
numpy.array
numpy.matrix
Panda. DataFrame
output (dict): definisce lo schema di output del servizio Web. Se vuoto, il servizio non restituirà un valore di risposta. gli output vengono definiti come dizionario
{'x'=int}o{'x': 'int'}che descrivono i nomi dei parametri di output e i relativi tipi di dati corrispondenti. Sono supportati i tipi seguenti:int
galleggiare
str
bool
numpy.array
numpy.matrix
Panda. DataFrame
artifacts (elenco): raccolta di artefatti di file da restituire. Il contenuto del file viene codificato come stringa Base64.
alias (str): nome della funzione consume. L'impostazione predefinita è utilizzata. Se viene specificata code_fn funzione, per impostazione predefinita userà tale nome di funzione.
Restituzioni
Nuova istanza di Service che rappresenta il servizio distribuito.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
Distruttore
destructor()
Prevalere
Eliminare definitivamente il metodo del ciclo di vita chiamato dal framework. Richiama i distruttori per la gerarchia di classi.
get_service
get_service(name, **opts)
Ottenere un servizio Web per l'utilizzo.
service = client.get_service('example', version='v1.0.1')
print(service)
<ExampleService>
...
...
...
Arguments
nome
Nome del servizio Web.
Opta
Versione facoltativa del servizio Web. Se version=None verrà restituito il servizio più recente.
Restituzioni
Nuova istanza di Service.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
get_service_pool_status
get_service_pool_status(name, version, **opts)
Ottenere lo stato del pool in ogni nodo di calcolo del server ML per i servizi pubblicati con il nome e la versione specificati.
Esempio:
>>> client.create_or_update_service_pool(
'regression',
version = 'v1.0.0',
initial_pool_size = 5,
maximum_pool_size = 5)
<Response [200]>
>>> client.get_service_pool_status('regression', version = 'v1.0.0')
[{'computeNodeEndpoint': 'http://localhost:12805/', 'status': 'Pending'}]
>>> client.get_service_pool_status('regression', version = 'v1.0.0')
[{'computeNodeEndpoint': 'http://localhost:12805/', 'status': 'Success'}]
Arguments
nome
Nome univoco del servizio Web.
version
Versione del servizio Web.
Restituzioni
str: json che rappresenta lo stato del pool in ogni nodo di calcolo per il servizio distribuito.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
initializer(http_client, config, adapters=None)
Prevalere
Metodo del ciclo di vita init chiamato dal framework, richiamato durante la costruzione. Configura gli attributi e richiama gli inizializzatori per la gerarchia di classi.
Arguments
http_client
Sessione di richiesta HTTP per gestire e rendere persistenti le impostazioni tra le richieste (autenticazione, proxy).
config
Configurazione globale.
Adattatori
Oggetto dict degli adattatori di trasporto in base all'URL.
list_services
list_services(name=None, **opts)
Elencare i diversi servizi Web pubblicati nel server ML.
Il nome del servizio e la versione del servizio sono facoltativi. Questa chiamata consente di recuperare le informazioni sul servizio relative a:
Tutti i servizi pubblicati
Tutti i servizi con controllo delle versioni per un servizio denominato specifico
Una versione specifica per un servizio denominato
Gli utenti possono usare queste informazioni insieme all'operazione [get_service()](#getservice) per interagire e utilizzare il servizio Web.
Esempio:
all_services = client.list_services()
all_versions_of_add_service = client.list_services('add-service')
add_service_v1 = client.list_services('add-service', version='v1')
Arguments
nome
Nome del servizio Web.
Opta
Versione facoltativa del servizio Web.
Restituzioni
Oggetto list di metadati del servizio.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
realtime_service
realtime_service(name)
Iniziare il concatenamento delle proprietà fluent api per la definizione di un servizio Web in tempo reale .
Esempio:
client.realtime_service('scoring')
.description('A new real-time web service')
.version('v1.0.0')
Arguments
nome
Nome del servizio Web.
Restituzioni
RealtimeDefinition Istanza per il concatenamento delle API Fluent.
redeploy_realtime
redeploy_realtime(name, **opts)
Aggiorna le proprietà in un servizio Web in tempo reale esistente nel server in base al nome e alla versione. Se version=None il servizio più recente verrà aggiornato.
Tutti i tipi di input e output vengono definiti come .pandas.DataFrame
Esempio:
model = rx_serialize_model(model, realtime_scoring_only=True)
opts = {
'version': 'v1.0.0',
'description': 'Real-time service description.',
'serialized_model': model
}
service = client.redeploy_realtime('scoring', **opts)
df = movie_reviews.as_df()
res = service.consume(df)
answer = res.outputs
Annotazioni
L'uso di redeploy_realtime() in questo modo è identico all'aggiornamento di un servizio tramite le API Fluent redeploy()
Arguments
nome
Nome del servizio Web.
Opta
Proprietà del servizio da aggiornare come .dict Il consenso esplicito supporta le proprietà facoltative seguenti:
version (str): definisce la versione del servizio Web.
description (str) - Descrizione del servizio.
alias (str): nome della funzione consume. L'impostazione predefinita è utilizzata.
Restituzioni
Nuova istanza di Service che rappresenta la ridistribuzione del servizio in tempo reale.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
redeploy_service
redeploy_service(name, **opts)
Aggiorna le proprietà in un servizio Web esistente nel server ML in base al nome e alla versione. Se version=None il servizio più recente verrà aggiornato.
Esempio:
opts = {
'version': 'v1.0.0',
'description': 'Service description.',
'code_fn': run,
'init_fn': init,
'objects': {'local_obj': 50},
'models': {'model': 100},
'inputs': {'x': int},
'outputs': {'answer': float},
'artifacts': ['histogram.png'],
'alias': 'consume_service_fn_alias'
}
service = client.redeploy('regression', **opts)
res = service.consume_service_fn_alias(100)
answer = res.output('answer')
histogram = res.artifact('histogram.png')
Annotazioni
L'uso di redeploy_service() in questo modo è identico all'aggiornamento di un servizio tramite le API Fluentredeploy()
Arguments
nome
Nome del servizio Web.
Opta
Proprietà del servizio da aggiornare come .dict Il consenso esplicito supporta le proprietà facoltative seguenti:
version (str): definisce una versione univoca del servizio Web alfanumerico. Se la versione viene lasciata vuota, viene generato un GUID univoco al suo posto. Utile durante lo sviluppo del servizio prima che l'autore sia pronto per pubblicare ufficialmente una versione semantica da condividere.
description (str) - Descrizione del servizio.
code_str (str): blocco di codice Python da eseguire e valutare.
init_str (str): blocco di codice Python per inizializzare il servizio.
code_fn (funzione): funzione da eseguire e valutare.
init_fn (funzione): funzione da inizializzare il servizio.
oggetti (dict): nome e valore degli oggetti da includere.
models (dict): nome e valore dei modelli da includere.
input (dict): schema di input del servizio per nome e tipo. Sono supportati i tipi seguenti: - int - float - str - bool - numpy.array - numpy.matrix - pandas. DataFrame
output (dict): definisce lo schema di output del servizio Web. Se vuoto, il servizio non restituirà un valore di risposta. gli output vengono definiti come dizionario
{'x'=int}o{'x': 'int'}che descrivono i nomi dei parametri di output e i relativi tipi di dati corrispondenti. Sono supportati i tipi seguenti: - int - float - str - bool - numpy.array - numpy.matrix - pandas. DataFrameartifacts (elenco): raccolta di artefatti di file da restituire. Il contenuto del file viene codificato come stringa Base64.
alias (str): nome della funzione consume. L'impostazione predefinita è utilizzata. Se viene specificata code_fn funzione, per impostazione predefinita userà tale nome di funzione.
Restituzioni
Nuova istanza di Service che rappresenta il servizio distribuito.
HttpException
Se si è verificato un errore HTTP che chiama ml Server.
servizio
service(name)
Iniziare a concatenare le proprietà fluent per la definizione di un servizio Web standard .
Esempio:
client.service('scoring')
.description('A new web service')
.version('v1.0.0')
Arguments
nome
Nome del servizio Web.
Restituzioni
ServiceDefinition Istanza per il concatenamento delle API Fluent.