Crea una distribuzione online per modelli di machine learning, soluzioni Decision Optimization o funzioni Python per generare previsioni o risultati in tempo reale. Ad esempio, creare una distribuzione in linea per un modello di classificazione addestrato per prevedere se un cliente della banca si iscrive a una promozione. L'inoltro di nuovi dati del cliente all'endpoint di distribuzione restituisce una previsione in tempo reale.
Tipi di asset distribuibili per le installazioni in linea
È possibile creare distribuzioni online per questi tipi di asset:
- Funzioni
- Modelli
Non è possibile distribuire risorse dell'applicazione R Shiny su Cloud Pak for Data as a Service.
Modi per creare una distribuzione online
È possibile creare una distribuzione in linea in uno dei seguenti modi:
- Utilizzare un approccio senza codice per Creare una distribuzione online da uno spazio di distribuzione .
- Utilizzare il codice per Creare una distribuzione online in modo programmatico utilizzando i notebook.
Dopo aver creato una distribuzione in linea, viene generato un URL endpoint. È possibile utilizzare l'URL dell'endpoint per verificare la distribuzione o per includere la distribuzione nelle applicazioni.
Prima di iniziare
È necessario impostare le credenziali dell'attività generando una chiave API. Per ulteriori informazioni, vedere Gestione delle credenziali delle attività.
Creazione di una distribuzione in linea da uno spazio di distribuzione
Attenersi alla seguente procedura per creare la propria distribuzione online da uno spazio di distribuzione:
Promuovere o aggiungere l'asset che si desidera distribuire a uno spazio. Per ulteriori informazioni, consultare Asset in uno spazio di distribuzione.
Dalla pagina Asset, fare clic sul pulsante Distribuisci dal menu azioni.
Dalla pagina dei dettagli di distribuzione, fare clic su Nuova distribuzione.
Scegliere Online come tipo di distribuzione.
Fornire un nome e una descrizione facoltativa per la distribuzione.
Utilizzare il campo Nome di servizio per specificare un nome per la propria distribuzione invece dell'ID di distribuzione.
Nota:- Il nome del servizio deve essere univoco all'interno dello spazio nomi.
- Il nome di servizio deve contenere solo i seguenti caratteri: [a-z,0-9, _] e deve avere una lunghezza massima di 36 caratteri.
- Il nome di servizio funziona solo come parte dell'URL di previsione. A volte, potrebbe essere necessario utilizzare l'ID di distribuzione.
Facoltativo: seleziona una specifica hardware se stai distribuendo funzioni Python , modelli Tensorflow o modelli con specifiche software personalizzate. Ad esempio, se stai ridimensionando una distribuzione, potresti voler aumentare le risorse hardware.
Limitazione:Non è possibile creare o selezionare specifiche hardware personalizzate dall'interfaccia utente in un spazio di distribuzione. Per ulteriori informazioni sui modi per creare e selezionare una specifica hardware, consultare Gestione delle specifiche hardware per le distribuzioni.
Facoltativo: selezionare una specifica software compatibile con l'asset. È possibile selezionare specifiche software solo per funzioni.
Fare clic su Crea per creare la distribuzione.
Verifica di una distribuzione in linea
Per verificare la propria distribuzione online, attenersi alla seguente procedura:
- Dalla scheda Distribuzioni dello spazio, fai clic sul nome della distribuzione.
- Fare clic sulla scheda Test per immettere i dati e ottenere una previsione o un'altra risposta dall'asset installato.
Il modo in cui si forniscono i dati di test per una distribuzione online dipende dal tipo di asset distribuito. Per la maggior parte degli asset, è possibile immettere direttamente i dati di test in un modulo, caricare un file che contiene i dati di test o incollare i dati di test come codice JSON. Ad esempio, di seguito viene riportata l'interfaccia di test per un modello di classificazione:
Per fornire i dati di test:
- Se il modello distribuito ha uno schema definito, i dati di test devono utilizzare lo stesso schema. Ad esempio, per un modello di classificazione, immettere i dati di test utilizzando le stesse colonne, omettendo la colonna di previsione.
Codice JSON di esempio per verificare una distribuzione
Quando si inoltra il codice JSON come payload, o dati di input, per una distribuzione, i dati di input devono corrispondere ai requisiti dell'asset distribuito.
Ad esempio, per un modello con uno schema, fields
deve corrispondere alle intestazioni di colonna per i dati e values
deve contenere i dati (nello stesso ordine). Utilizzare questo formato:
{"input_data":[{
"fields": [<field1>, <field2>, ...],
"values": [[<value1>, <value2>, ...]]
}]}
Fare riferimento a:
{"input_data":[{
"fields": ["PassengerId","Pclass","Name","Sex","Age","SibSp","Parch","Ticket","Fare","Cabin","Embarked"],
"values": [[1,3,"Braund, Mr. Owen Harris",0,22,1,0,"A/5 21171",7.25,null,"S"]]
}]}
Per la formattazione dell'input JSON:
- Tutte le stringhe sono racchiuse tra virgolette. La notazione Python per i dictionaries è simile, ma le stringhe Python tra virgolette singole non sono accettate nei dati JSON.
- Indicare i valori mancanti con
null
.
Richiamo dell'endpoint per una distribuzione in linea
Seguire questa procedura per richiamare l'URL dell'endpoint per la distribuzione in linea in modo da poter accedere alla distribuzione dalle applicazioni:
- Dalla scheda Distribuzioni dello spazio, fai clic sul nome della distribuzione.
- Nella scheda Riferimento API , trova i link dell'endpoint pubblico e privato. Puoi anche trovare i frammenti di codice in vari linguaggi di programmazione come Python, Java e altro ancora per includere i dettagli dell'endpoint in un'applicazione.
Se hai aggiunto Serving name quando hai creato la tua distribuzione online, vedi due URL dell'endpoint. Il primo URL contiene l'ID distribuzione e il secondo URL contiene il tuo nome di servizio. È possibile utilizzare uno di questi URL con la distribuzione.
Accesso ai dettagli della distribuzione in linea
Attenersi alla seguente procedura per esaminare o aggiornare i dettagli di distribuzione:
- Dalla scheda Distribuzioni del tuo spazio, fai clic su un nome di distribuzione.
- Fare clic sulla scheda Dettagli di installazione per accedere alle informazioni correlate alla propria installazione online.
Creazione di una distribuzione online in modo programmatico utilizzando i notebook
È possibile creare una distribuzione in linea in modo programmatico utilizzando:
Per accedere ai notebook di esempio che dimostrano come creare e gestire le implementazioni utilizzando il client Python di watsonx.ai Runtime, vedere Esempi ed esempi di apprendimento automatico.
Verifica della distribuzione online in modo programmatico
Per testare la distribuzione online in modo programmatico, è necessario preparare un payload che corrisponda allo schema dei requisiti del modello esistente dell'asset distribuito. Ad esempio, i dati di input (payload) per un modello di classificazione devono corrispondere allo schema del modello distribuito. Il seguente esempio per un modello di classificazione fornisce dati di test con colonne e valori che corrispondono esattamente allo schema del modello:
model_details = client.repository.get_details("<model_id>") # retrieves details and includes schema
columns_in_schema = []
for i in range(0, len(model_details['entity']['schemas']['input'][0].get('fields'))):
columns_in_schema.append(model_details['entity']['schemas']['input'][0].get('fields')[i]['name'])
X = X[columns_in_schema] # where X is a pandas dataframe that contains values to be scored
#(...)
scoring_values = X.values.tolist()
array_of_input_fields = X.columns.tolist()
payload_scoring = {"input_data": [{"fields": [array_of_input_fields],"values": scoring_values}]}
Richiamo dell'endpoint per una distribuzione in linea in modo programmatico
Per richiamare l'endpoint URL della distribuzione in linea da un notebook:
- Elencare le distribuzioni chiamando il metodo clientPython '
client.deployments.list()
. - Trova la riga con la distribuzione. L'URL dell'endpoint di distribuzione è elencato nella colonna
url
.
Ulteriori informazioni
Per informazioni su come creare una distribuzione batch, consultare Creazione di una distribuzione batch.
Per informazioni su come gestire i lavori di distribuzione e aggiornare, ridimensionare o eliminare una distribuzione in linea, vedi Gestione degli asset.
Per saperne di più sugli endpoint di distribuzione, vedere URL endpoint.
Argomento principale: Gestione delle distribuzioni predittive