0 / 0
Torna alla versione inglese della documentazione
Distribuzione e gestione dei modelli di fondazione distribuiti on-demand con API REST
Ultimo aggiornamento: 13 dic 2024
Distribuzione e gestione dei modelli di fondazione distribuiti on-demand con API REST

Distribuzione programmatica dei modelli di fondazione on-demand con API REST. L'implementazione di un foundation model on-demand lo rende disponibile su hardware dedicato ad uso esclusivo della vostra organizzazione. IBM fornisce una serie di modelli curati che sono disponibili per l'implementazione on-demand.

Prima di iniziare

  1. È necessario impostare o abilitare le credenziali dell'attività per distribuire i modelli di fondazione su richiesta. Per ulteriori informazioni, vedere Gestione delle credenziali delle attività.
  2. Esaminare i requisiti e le considerazioni per la distribuzione di un foundation model on-demand.

Creazione di una risorsa modello

Si può usare l'endpoint '/ml/v4/models per creare una risorsa per il foundation model che si vuole distribuire su richiesta.

Il seguente frammento di codice mostra come creare una risorsa nel repository watsonx.ai Runtime per distribuire il foundation model su richiesta. Utilizzare l'ID risorsa generato da questo codice quando si distribuisce il modello.

curl -X POST "https://<cluster url>/ml/v4/models?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
    "type": "curated_foundation_model_1.0",
    "version": "1.0",
    "name": "granite",
    "space_id": "<Space id for deployment>",
    "foundation_model": {
        "model_id": "ibm/granite-13b-chat-v2-curated"
    }
}'

Creazione di un'installazione client per un foundation model on-demand

Si può usare l'endpoint '/ml/v4/deployments per distribuire un foundation model su richiesta in uno spazio di distribuzione. È necessario utilizzare l'ID risorsa generato quando si è creata la risorsa modello per la distribuzione. Per ulteriori informazioni, vedere Creazione di una risorsa modello.

Nota: le distribuzioni in batch non sono supportate per la distribuzione dei modelli di fondazione su richiesta.

Il seguente frammento di codice mostra come creare un deployment online per distribuire il foundation model su richiesta:

curl -X POST "https://<cluster url>/ml/v4/deployments?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
  "asset": {
    "id": <Asset id created>
  },
  "online": {
    "parameters": {
      "serving_name": "llma"
    }
  },
  "description": "<Description>,
  "name": "mi",
  "space_id": <Space id for deployment>
}'

Polling per lo stato di distribuzione

È possibile verificare lo stato dell'installazione client utilizzando l'ID dell'installazione client. Quando lo stato passa da inizializzazione a pronto, l'installazione client è pronta per l'uso.

Il seguente esempio di codice mostra come usare l'API REST per interrogare lo stato di distribuzione:

curl -X GET "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your project ID>" \
-H "Authorization: Bearer <replace with your token>" 

Uscita:

"deployed_asset_type": "curated_foundation_model"

Modelli di fondazione di test distribuiti on-demand

È possibile testare un foundation model che viene distribuito on-demand per l'inferenza online.

Il seguente frammento di codice mostra come testare un foundation model che viene distribuito on-demand per l'inferenza online:

curl -X POST "https://<replace with your cloud hostname>/ml/v1/deployments/<replace with your deployment ID>/text/generation?version=2024-01-29" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '{
 "input": "Hello, what is your name",
 "parameters": {
    "max_new_tokens": 200,
    "min_new_tokens": 20
 }
}'

Gestione dei modelli di fondazione distribuiti on-demand

Accedete, aggiornate, scalate o cancellate i vostri foundation model distribuiti on-demand con l'API REST.

Accesso al modello distribuito

Per recuperare l'elenco di tutti i modelli di fondazione che sono distribuiti on-demand in uno spazio di distribuzione con l'API REST, è possibile impostare il parametro di query 'type=curated_foundation_model.

Il seguente esempio di codice mostra come utilizzare l'API REST per accedere a tutti i modelli di fondazione distribuiti su richiesta in uno spazio di distribuzione:

curl -X GET "https://<replace with yourcloud hostname>/ml/v4/deployments?version=2024-01-29&space_id=<replace with your space ID>&type=curated_foundation_model" \
-H "Authorization: Bearer <replace with your token>" 

Aggiornamento della distribuzione

Aggiornare i metadati di distribuzione richiesti per l'installazione client, come nome, descrizione, tag e altro.

Il seguente esempio di codice mostra come aggiornare il nome del foundation model distribuito su richiesta:

curl -X PATCH "https://<replace with your cloud hostname>//ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&project_id=<replace with your space ID>" \
-H "Authorization: Bearer <replace with your token>" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/name",
 "value": "<replace with updated deployment name>"
}]'

Scalare la distribuzione

È possibile distribuire solo un'istanza di un foundation model su richiesta in uno spazio di distribuzione. Per gestire l'aumento della domanda, è possibile scalare la distribuzione creando copie aggiuntive.

Il seguente esempio di codice mostra come scalare il numero di repliche per la distribuzione:

curl -X PATCH "<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" \
-H "Authorization: Bearer $token" \
-H "content-type: application/json" \
--data '[{
 "op": "replace",
 "path": "/hardware_request",
 "value": {"num_nodes": 2}                
}]'
Importante:
  1. Se si desidera scalare le risorse hardware, utilizzare l'operazione 'PATCH con il parametro '/hardware_request e aggiornare il numero di nodi hardware fornendo un valore per il parametro 'num_nodes. Non è possibile utilizzare il parametro 'size con '/hardware_request.
  2. Non è possibile utilizzare l'operazione " PATCH per aggiornare i parametri foundation model (/online/parameters/foundation_model).

Eliminazione di una distribuzione

È possibile eliminare il foundation model distribuito quando non è più necessario per interrompere i costi di fatturazione.

Il seguente esempio di codice mostra come cancellare un foundation model distribuito on-demand con l'API REST:

curl -vk -X DELETE "https://<replace with your cloud hostname>/ml/v4/deployments/<replace with your deployment ID>?version=2024-01-29&space_id=<replace with your space ID>" -H "Authorization: Bearer <replace with your token>"

Notebook di esempio

Il seguente notebook di esempio mostra la richiesta di modelli di fondazione che vengono distribuiti programmaticamente su richiesta. È necessario distribuire il foundation model su richiesta prima di eseguire il notebook.

Notebook di esempio
Blocco appunti Descrizione
Inferenza con i modelli Text-to-SQL Granite Setup
Creare un prompt per il modello Schema Linking
Eseguire un'inferenza sul modello Schema Linking utilizzando l'endpoint WX.AI
Postare il processo dell'output del modello Schema Linking
Creare un prompt per il modello SQL Geneneration
Eseguire un'inferenza sul modello SQL Generation utilizzando l'endpoint WX.AI

Ulteriori informazioni

Argomento principale: Distribuzione di modelli di fondazione dedicati

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni