Per eseguire il deployment di un modello in un endpoint pubblico utilizzando gcloud CLI o l'API Gemini Enterprise, devi recuperare l' ID endpoint di un endpoint esistente e poi eseguire il deployment del modello.
Recupera l'ID endpoint
Per eseguire il deployment del modello, devi avere l'ID endpoint.
gcloud
L'esempio seguente utilizza il
gcloud ai endpoints listcomando:
gcloud ai endpoints list \
--region=LOCATION_ID \
--filter=display_name=ENDPOINT_NAME
Sostituisci quanto segue:
- LOCATION_ID: la regione in cui utilizzi Agent Platform.
- ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Prendi nota del numero visualizzato nella colonna ENDPOINT_ID. Utilizza questo ID nel passaggio successivo.
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la regione in cui utilizzi Agent Platform.
- PROJECT_ID: il tuo [ID progetto](/resource-manager/docs/creating-managing-projects#identifiers). .
- ENDPOINT_NAME: il nome visualizzato dell'endpoint.
Metodo HTTP e URL:
GET https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints?filter=display_name=ENDPOINT_NAME
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"endpoints": [
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/endpoints/ENDPOINT_ID",
"displayName": "ENDPOINT_NAME",
"etag": "AMEw9yPz5pf4PwBHbRWOGh0PcAxUdjbdX2Jm3QO_amguy3DbZGP5Oi_YUKRywIE-BtLx",
"createTime": "2020-04-17T18:31:11.585169Z",
"updateTime": "2020-04-17T18:35:08.568959Z"
}
]
}
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la Python documentazione di riferimento dell'API.
Sostituisci quanto segue:
- PROJECT_ID: il tuo ID progetto.
- LOCATION_ID: la regione in cui utilizzi Agent Platform.
- ENDPOINT_NAME: il nome visualizzato dell'endpoint.
from google.cloud import aiplatform
PROJECT_ID = "PROJECT_ID"
LOCATION = "LOCATION_ID"
ENDPOINT_NAME = "ENDPOINT_NAME"
aiplatform.init(
project=PROJECT_ID,
location=LOCATION,
)
endpoint = aiplatform.Endpoint.list( filter='display_name=ENDPOINT_NAME', )
endpoint_id = endpoint.name.split("/")[-1]
Esegui il deployment del modello
Quando esegui il deployment di un modello, gli assegni un ID per distinguerlo dagli altri modelli di cui è stato eseguito il deployment nell'endpoint.
Seleziona la scheda di seguito per la lingua o l'ambiente:
gcloud
Gli esempi seguenti utilizzano il gcloud ai endpoints deploy-model comando.
L'esempio seguente esegue il deployment di un Model in un Endpoint senza utilizzare le GPU
per accelerare la pubblicazione delle previsioni e senza suddividere il traffico tra più
DeployedModel risorse:
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- ENDPOINT_ID: l'ID dell'endpoint.
- LOCATION_ID: la regione in cui utilizzi Agent Platform.
- MODEL_ID: l'ID del modello di cui eseguire il deployment.
-
DEPLOYED_MODEL_NAME: un nome per
DeployedModel. Puoi utilizzare anche il nome visualizzato diModelper laDeployedModelas well. - MIN_REPLICA_COUNT: il numero minimo di nodi per questo deployment. Il conteggio di nodi può essere aumentato o diminuito in base al carico di inferenza fino al numero massimo di nodi e mai inferiore a questo numero di nodi.
-
MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment.
Il conteggio di nodi può essere aumentato o diminuito in base al carico di inferenza fino a questo numero di nodi e mai inferiore al numero minimo di nodi.
Se il flag
--max-replica-countviene omesso, allora il numero massimo di nodi viene impostato sul valore di--min-replica-count.
Esegui il gcloud ai endpoints deploy-model comando:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=100
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME ` --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=100
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME ^ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=100
Suddivisione del traffico
Il flag --traffic-split=0=100 negli esempi precedenti invia il 100% del traffico di previsione
ricevuto da Endpoint al nuovo DeployedModel, che è
rappresentato dall'ID temporaneo 0. Se il tuo Endpoint ha già altre risorse DeployedModel, puoi suddividere il traffico tra il nuovo DeployedModel e quelli precedenti.
Ad esempio, per inviare il 20% del traffico al nuovo DeployedModel e l'80% a uno precedente, esegui il comando seguente.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- OLD_DEPLOYED_MODEL_ID: l'ID di
esistente
DeployedModel.
Esegui il gcloud ai endpoints deploy-model comando:
Linux, macOS o Cloud Shell
gcloud ai endpoints deploy-model ENDPOINT_ID\ --region=LOCATION_ID \ --model=MODEL_ID \ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT \ --max-replica-count=MAX_REPLICA_COUNT \ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (PowerShell)
gcloud ai endpoints deploy-model ENDPOINT_ID` --region=LOCATION_ID ` --model=MODEL_ID ` --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ` --max-replica-count=MAX_REPLICA_COUNT ` --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
Windows (cmd.exe)
gcloud ai endpoints deploy-model ENDPOINT_ID^ --region=LOCATION_ID ^ --model=MODEL_ID ^ --display-name=DEPLOYED_MODEL_NAME \ --min-replica-count=MIN_REPLICA_COUNT ^ --max-replica-count=MAX_REPLICA_COUNT ^ --traffic-split=0=20,OLD_DEPLOYED_MODEL_ID=80
REST
Esegui il deployment del modello.
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- LOCATION_ID: la regione in cui utilizzi Agent Platform.
- PROJECT_ID: il tuo [ID progetto](/resource-manager/docs/creating-managing-projects#identifiers). .
- ENDPOINT_ID: l'ID dell'endpoint.
- MODEL_ID: l'ID del modello di cui eseguire il deployment.
-
DEPLOYED_MODEL_NAME: un nome per
DeployedModel. Puoi utilizzare anche il nome visualizzato diModelper laDeployedModelas well. -
MACHINE_TYPE: (facoltativo) Le risorse macchina utilizzate per ogni nodo di questo deployment. L'impostazione predefinita è
n1-standard-2. Scopri di più sui tipi di macchina. - ACCELERATOR_TYPE: il tipo di acceleratore da collegare alla macchina. (Facoltativo) se ACCELERATOR_COUNT non è specificato o è zero. Non consigliato per i modelli AutoML o i modelli con addestramento personalizzato che utilizzano immagini non GPU. Scopri di più.
- ACCELERATOR_COUNT: il numero di acceleratori da utilizzare per ogni replica. (Facoltativo) Deve essere zero o non specificato per i modelli AutoML o i modelli con addestramento personalizzato che utilizzano immagini non GPU.
- MIN_REPLICA_COUNT: il numero minimo di nodi per questo deployment. Il conteggio di nodi può essere aumentato o diminuito in base al carico di inferenza fino al numero massimo di nodi e mai inferiore a questo numero di nodi. Questo valore deve essere maggiore o uguale a 1.
- MAX_REPLICA_COUNT: il numero massimo di nodi per questo deployment. Il conteggio di nodi può essere aumentato o diminuito in base al carico di inferenza fino a questo numero di nodi e mai inferiore al numero minimo di nodi.
- REQUIRED_REPLICA_COUNT: (facoltativo) Il numero di nodi richiesto per contrassegnare questo deployment come riuscito. Deve essere maggiore o uguale a 1 e minore o uguale al numero minimo di nodi. Se non specificato, il valore predefinito è il numero minimo di nodi.
- TRAFFIC_SPLIT_THIS_MODEL: la percentuale del traffico di previsione verso questo endpoint da instradare al modello di cui è stato eseguito il deployment con questa operazione. Il valore predefinito è 100. La somma di tutte le percentuali di traffico deve essere pari a 100. Scopri di più sulle suddivisioni del traffico.
- DEPLOYED_MODEL_ID_N: (facoltativo) Se altri modelli sono di cui è stato eseguito il deployment in questo endpoint, devi aggiornare le percentuali di suddivisione del traffico in modo che la somma di tutte le percentuali sia pari a 100.
- TRAFFIC_SPLIT_MODEL_N: il valore della percentuale di suddivisione del traffico per la chiave dell'ID del modello di cui è stato eseguito il deployment.
- PROJECT_NUMBER: il numero di progetto generato automaticamente del tuo progetto
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
Corpo JSON della richiesta:
{
"deployedModel": {
"model": "projects/PROJECT/locations/us-central1/models/MODEL_ID",
"displayName": "DEPLOYED_MODEL_NAME",
"dedicatedResources": {
"machineSpec": {
"machineType": "MACHINE_TYPE",
"acceleratorType": "ACCELERATOR_TYPE",
"acceleratorCount": "ACCELERATOR_COUNT"
},
"minReplicaCount": MIN_REPLICA_COUNT,
"maxReplicaCount": MAX_REPLICA_COUNT,
"requiredReplicaCount": REQUIRED_REPLICA_COUNT
},
},
"trafficSplit": {
"0": TRAFFIC_SPLIT_THIS_MODEL,
"DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1,
"DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2
},
}
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployModelOperationMetadata",
"genericMetadata": {
"createTime": "2020-10-19T17:53:16.502088Z",
"updateTime": "2020-10-19T17:53:16.502088Z"
}
}
}
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la Python documentazione di riferimento dell'API.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Agent Platform per l'utilizzo delle librerie client.
Per eseguire l'autenticazione in Agent Platform, configura le credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Scopri come modificare le impostazioni predefinite per la registrazione dell'inferenza.
Recupera lo stato dell'operazione
Alcune richieste avviano operazioni a lunga esecuzione che richiedono tempo per essere completate. Queste richieste restituiscono un nome dell'operazione, che puoi utilizzare per visualizzare lo stato dell'operazione o annullarla. Agent Platform fornisce metodi di assistenza per effettuare chiamate a operazioni a lunga esecuzione. Per saperne di più, consulta Utilizzare le operazioni a lunga esecuzione.
Passaggi successivi
- Scopri come ottenere un'inferenza online.
- Scopri di più sugli endpoint privati.