È possibile distribuire un modello di Decision Optimization, creare e monitorare lavori e ottenere soluzioni utilizzando l'API REST diwatsonx.ai Runtime.
Creare la tua chiave API. Copiatela o scaricatela dalla finestra aperta della chiave API creata con successo (non è possibile accedervi di nuovo quando si chiude questa finestra).
Selezionare un'istanza di watsonx.ai Runtime dall'elenco dei servizi di AI/MachineMachine Learning nella vista dell'elenco delle risorseIBM Cloud.
Copiare il nome, il GUID e il CRN dal riquadro informazioni dell'istanza di watsonx.ai Runtime. (Per aprire il riquadro delle informazioni, fare clic su un punto qualsiasi della riga accanto al nome del servizio watsonx.ai Runtime, ma non sul nome stesso. Il riquadro delle informazioni si apre nella stessa finestra)
Selezionate uno spazio di installazione client dall'elenco delle installazioni client.
Copiare il GUID dello spazio dalla scheda Gestione > Generale. Per ulteriori informazioni, vedere Spazi di distribuzione.
Informazioni su questa attività
Copy link to section
I passi seguenti mostrano come distribuire un modello 'Decision Optimization utilizzando il modello 'watsonx.ai API REST di runtime. L'esempio REST API utilizza curl, uno strumento di riga di comando e libreria per il trasferimento dei dati con la sintassi URL. È possibile scaricare curl e saperne di più su http://curl.haxx.se Per ulteriori informazioni sulle API REST rilevanti per Decision Optimization, consultare le seguenti sezioni:
Per gli utenti Windows , utilizzare ^ invece di \ per il separatore multi - line e virgolette doppie " in tutti questi esempi di codice. Gli utenti di Windows devono inoltre utilizzare l'indentazione di almeno uno spazio di carattere nelle righe di intestazione.
Per chiarezza, alcuni esempi di codice in questa procedura sono stati inseriti in un file json per rendere i comandi più leggibili e più facili da utilizzare.
Una volta creata un'installazione client tramite l'API REST, è possibile visualizzarla e inviarle lavori dalla pagina Deployments > Spaces dell'interfaccia utente https://dataplatform.cloud.ibm.com.
Utilizzare il token ottenuto (valore access_token) prepenato dalla parola Bearer nell'intestazione Authorization e l' watsonx.ai Runtime service GUID nell'intestazione ML-Instance-ID , in tutte le chiamate API.
Optional: Se non hai ottenuto il tuo SPACE - ID dall'interfaccia utente come descritto in precedenza, è possibile creare uno spazio utilizzando l'API REST come segue. Utilizza il token precedentemente ottenuto preceduto dalla parola bearer nell'intestazione Authorization in tutte le chiamate API.
È necessario attendere che lo stato dello spazio di distribuzione sia "active" prima di continuare. È possibile effettuare il sondaggio per verificarlo come segue.
Tutte le richieste API richiedono un parametro di versione che prenda una data nel formato version=YYYY-MM-DD. Questo esempio di codice carica un modello che utilizza il file create_model.json. L'URL varia a seconda della regione/località scelta per il servizio watsonx.ai Runtime. Vedere URL del punto finale.
La versione Python viene dichiarata esplicitamente qui in un blocco custom . Questo è facoltativo. Senza di essa il modello userà la versione predefinita, che attualmente è Python 3.11. Poiché la versione predefinita evolverà nel tempo, l'affermazione della versione Python ti consente esplicitamente di modificarla facilmente in un secondo momento o di continuare a utilizzare una versione supportata precedente quando viene aggiornata la versione predefinita. Le versioni attualmente supportate sono 3.11 e 3.10 (deprecata).
Se si desidera essere in grado di eseguire lavori per questo modello dall'interfaccia utente, invece di utilizzare solo le API REST, è necessario definire lo schema per i dati di input e di output. Se non si definisce lo schema quando si crea il modello, è possibile eseguire solo lavori utilizzando l'API REST e non dall'interfaccia utente.
È inoltre possibile utilizzare lo schema specificato per l'input e l'output nel modello di ottimizzazione:
Quando si pubblica un modello si forniscono informazioni relative al suo tipo di modello e alla specifica software da utilizzare.
I tipi di modello possono essere, ad esempio:
do-opl_22.1 per i modelli OPL
do-cplex_22.1 per i modelli CPLEX
do-cpo_22.1 per i modelli CP
do-docplex_22.1 per i modelli Python
La Versione 20.1 può essere utilizzata anche per questi modelli.
Per la specifica softwareè possibile utilizzare le specifiche predefinite utilizzando i loro nomi do_22.1 o do_20.1. Consultare anche Estendere il notebook di specifica software che mostra come estendere la specifica software Decision Optimization (runtime con ulteriori librerie Python per i modelli DOcplex).
Un MODEL - ID viene restituito in id campo nel metadata.
È possibile scaricare questo esempio e altri modelli dal sito DO-samples. Selezionare la sottocartella relativa al prodotto e alla versione.
Distribuisci il tuo modello
Crea un riferimento al tuo modello. Utilizzare il SPACE - ID, il MODEL - ID ottenuto quando hai creato il tuo modello pronto per la distribuzione e la specifica hardware. Ad esempio:
Si possono quindi Submit jobs per il proprio modello distribuito che definisce i dati di input e l'output (risultati della risoluzione di ottimizzazione) e il file di log.
Ad esempio, il seguente mostra il contenuto di un file chiamato myjob.json. Contiene i dati di input (in linea), alcuni parametri di risoluzione e specifica che l'output sarà un file .csv. Per ulteriori informazioni, consultate Decision Optimization batch deployment and model execution.
Se si elimina un lavoro utilizzando l'API, verrà comunque visualizzato nell'interfaccia utente.
Optional: è possibile eliminare le distribuzioni come segue:
Se si elimina una distribuzione che contiene lavori che utilizzano l'API, i lavori verranno comunque visualizzati nello spazio di distribuzione nell'interfaccia utente.
Risultati
Copy link to section
Una volta che il tuo modello è stato distribuito e il lavoro eseguito, i risultati della soluzione vengono forniti o inline o nel file e nella posizione che hai specificato, ad esempio utilizzando un riferimento S3 . È possibile pubblicare nuovi lavori utilizzando il deployment - ID senza dover ridistribuire il proprio modello.