L'istruzione CREATE MODEL per i modelli remoti rispetto ai modelli ospitati da Vertex AI
Questo documento descrive l'istruzione CREATE MODEL
per creare modelli remoti in BigQuery rispetto ai modelli di cui è stato eseguito il deployment in Vertex AI.
Sintassi CREATE MODEL
{CREATE MODEL | CREATE MODEL IF NOT EXISTS | CREATE OR REPLACE MODEL} `project_id.dataset.model_name` INPUT (field_name field_type) OUTPUT (field_name field_type) REMOTE WITH CONNECTION `project_id.region.connection_id` OPTIONS(ENDPOINT = vertex_ai_https_endpoint);
CREATE MODEL
Crea e addestra un nuovo modello nel set di dati specificato. Se il nome del modello esiste, CREATE MODEL
restituisce un errore.
CREATE MODEL IF NOT EXISTS
Crea e addestra un nuovo modello solo se non esiste nel set di dati specificato.
CREATE OR REPLACE MODEL
Crea e addestra un modello e sostituisce un modello esistente con lo stesso nome nel set di dati specificato.
model_name
Il nome del modello che stai creando o sostituendo. Il nome del modello deve essere univoco nel set di dati: nessun altro modello o tabella può avere lo stesso nome. Il nome del modello deve seguire le stesse regole di denominazione di una tabella BigQuery. Il nome di un modello può:
- Contiene fino a 1024 caratteri
- Contenere lettere (maiuscole o minuscole), numeri e trattini bassi.
model_name
non è sensibile alle maiuscole.
Se non hai configurato un progetto predefinito, devi anteporre l'ID progetto al nome del modello nel seguente formato, inclusi gli apici inversi:
"[ID_PROGETTO].[SET DI DATI].[MODEL]"
Ad esempio, "myproject.mydataset.mymodel".
Clausole INPUT
e OUTPUT
Devi specificare le clausole INPUT
e OUTPUT
quando crei un modello remoto con un endpoint HTTPS. La clausola INPUT
deve contenere i campi necessari per la richiesta dell'endpoint Vertex AI e la clausola OUTPUT
deve contenere i campi necessari per la risposta dell'endpoint di Vertex AI.
Tipi di dati supportati
Puoi utilizzare i seguenti tipi di dati BigQuery nelle clausole INPUT
e OUTPUT
:
Formato del nome del campo
I nomi dei campi INPUT
e OUTPUT
devono essere identici ai nomi dei campi della richiesta e della risposta dell'endpoint di Vertex AI. Per un endpoint Vertex AI
con un singolo valore OUTPUT
, non esiste un nome di campo nella risposta, quindi puoi specificare qualsiasi nome di campo nell'istruzione OUTPUT
.
Esempio
Se la richiesta Vertex AI è simile al seguente esempio:
{
"instances": [
{ "f1": 10, "f2": 12.3, "f3": "abc", "f4": [1, 2, 3, 4] },
{ "f1": 40, "f2": 32.5, "f3": "def", "f4": [11, 12, 13, 14] },
]
}
L'istruzione INPUT
deve essere:
INPUT(f1 INT64, f2 FLOAT64, f3 STRING, f4 ARRAY<INT64>)
Se la risposta di Vertex AI è simile al seguente esempio:
{
"predictions": [
{
"out1": 300,
"out2": 40
},
{
"out1": 200,
"out2": 30
}
]
}
L'istruzione OUTPUT
deve essere:
OUTPUT(out1 INT64, out2 INT64)
REMOTE WITH CONNECTION
Sintassi
`[PROJECT_ID].[LOCATION].[CONNECTION_ID]`
BigQuery utilizza una connessione risorse cloud per interagire con l'endpoint Vertex AI.
Gli elementi di connessione sono i seguenti:
PROJECT_ID
: l'ID del progetto che contiene la connessione.LOCATION
: la località utilizzata dalla connessione. La connessione deve trovarsi nella stessa località del set di dati che contiene il modello.CONNECTION_ID
: l'ID connessione, ad esempiomyconnection
.Per trovare l'ID connessione, visualizza i dettagli della connessione nella console Google Cloud. L'ID connessione è il valore nell'ultima sezione dell'ID connessione completo mostrato in ID connessione, ad esempio
projects/myproject/locations/connection_location/connections/myconnection
.
Devi concedere il ruolo Utente Vertex AI all'account di servizio della connessione nel progetto in cui crei il modello.
Esempio
`myproject.us.my_connection`
ENDPOINT
Sintassi
ENDPOINT = vertex_ai_https_endpoint
Description
Per vertex_ai_https_endpoint
, specifica l'endpoint HTTPS che rappresenta un modello di cui è stato eseguito il deployment in Vertex AI.
Dopo aver creato un modello remoto basato su un modello di cui è stato eseguito il deployment in Vertex AI, puoi utilizzare il modello con ML.PREDICT
per eseguire l'inferenza.
L'esempio seguente mostra come creare un modello remoto che utilizza un endpoint HTTPS:
ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/endpoints/1234'
Esempio
L'esempio seguente crea un modello remoto BigQuery ML su un modello di cui è stato eseguito il deployment in un endpoint Vertex AI:
CREATE MODEL `project_id.mydataset.mymodel` INPUT(f1 INT64, f2 FLOAT64, f3 STRING, f4 ARRAY) OUTPUT(out1 INT64, out2 INT64) REMOTE WITH CONNECTION `myproject.us.test_connection` OPTIONS(ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/endpoints/1234')
Passaggi successivi
Per saperne di più sulle istruzioni e sulle funzioni SQL supportate per i modelli remoti che utilizzano endpoint HTTPS, consulta Percorso dell'utente end-to-end per ogni modello.