CREATE MODEL-Anweisung für Remote-Modelle über von Vertex AI gehostete Modelle
In diesem Dokument wird die CREATE MODEL
-Anweisung zum Erstellen von Remote-Modellen in BigQuery über Modelle beschrieben, die in Vertex AI bereitgestellt werden.
CREATE MODEL
-Syntax
{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
Erstellt und trainiert ein neues Modell im angegebenen Dataset. Wenn der Modellname vorhanden ist, gibt CREATE MODEL
einen Fehler zurück.
CREATE MODEL IF NOT EXISTS
Erstellt und trainiert ein neues Modell nur, wenn das Modell nicht im angegebenen Dataset vorhanden ist.
CREATE OR REPLACE MODEL
Erstellt und trainiert ein Modell und ersetzt ein vorhandenes Modell mit demselben Namen im angegebenen Dataset.
model_name
Der Name des Modells, das Sie erstellen oder ersetzen. Der Modellname muss im Dataset eindeutig sein: Kein anderes Modell und keine andere Tabelle darf denselben Namen haben. Der Modellname muss denselben Benennungsregeln wie eine BigQuery-Tabelle folgen. Ein Modellname kann:
- bis zu 1.024 Zeichen enthalten.
- Buchstaben (groß- oder kleingeschrieben), Ziffern und Unterstriche enthalten.
model_name
unterscheidet nicht zwischen Groß- und Kleinschreibung.
Wenn Sie kein Standardprojekt konfiguriert haben, müssen Sie die Projekt-ID dem Modellnamen im folgenden Format voranstellen, einschließlich der Graviszeichen:
`[PROJECT_ID].[DATASET].[MODEL]`
Beispielsweise `myproject.mydataset.mymodel`.
Klauseln INPUT
und OUTPUT
Sie müssen die Klauseln INPUT
und OUTPUT
angeben, wenn Sie ein Remote-Modell mit einem HTTPS-Endpunkt erstellen. Die Klausel INPUT
muss die Felder enthalten, die für die Vertex AI-Endpunktanfrage erforderlich sind, und die Klausel OUTPUT
die Felder, die für die Vertex AI-Endpunktantwort erforderlich sind.
Unterstützte Datentypen
Sie können die folgenden BigQuery-Datentypen in den Klauseln INPUT
und OUTPUT
verwenden:
Feldnameformat
Die Feldnamen INPUT
und OUTPUT
müssen mit den Feldnamen der Endpunktanfrage und -antwort von Vertex AI übereinstimmen. Für einen Vertex AI-Endpunkt mit einem einzelnen OUTPUT
ist in der Antwort kein Feldname vorhanden. Daher können Sie in der Anweisung OUTPUT
einen beliebigen Feldnamen angeben.
Beispiel
Wenn die Vertex AI-Anfrage so aussieht:
{
"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] },
]
}
Die Anweisung INPUT
muss so lauten:
INPUT(f1 INT64, f2 FLOAT64, f3 STRING, f4 ARRAY<INT64>)
Wenn die Vertex AI-Antwort so aussieht:
{
"predictions": [
{
"out1": 300,
"out2": 40
},
{
"out1": 200,
"out2": 30
}
]
}
Die Anweisung OUTPUT
muss so lauten:
OUTPUT(out1 INT64, out2 INT64)
REMOTE WITH CONNECTION
Syntax
`[PROJECT_ID].[LOCATION].[CONNECTION_ID]`
BigQuery verwendet eine Cloud-Ressourcenverbindung, um mit dem Vertex AI-Endpunkt zu interagieren.
Die Verbindungselemente sind:
PROJECT_ID
: die Projekt-ID, das die Verbindung enthält.LOCATION
: der Standort, der von der Verbindung verwendet wird. Die Verbindung muss sich am selben Standort wie das Dataset befinden, das das Modell enthält.CONNECTION_ID
: die Verbindungs-ID, z. B.myconnection
.Rufen Sie die Verbindungsdetails in der Google Cloud Console auf, um Ihre Verbindungs-ID zu ermitteln. Die Verbindungs-ID ist der Wert im letzten Abschnitt der vollständig qualifizierten Verbindungs-ID, der unter Verbindungs-ID angezeigt wird, z. B.
projects/myproject/locations/connection_location/connections/myconnection
.
Sie müssen dem Dienstkonto der Verbindung in dem Projekt, in dem Sie das Modell erstellen, die Rolle Vertex AI-Nutzer zuweisen.
Beispiel
`myproject.us.my_connection`
ENDPOINT
Syntax
ENDPOINT = vertex_ai_https_endpoint
Beschreibung
Geben Sie unter vertex_ai_https_endpoint
den HTTPS-Endpunkt an, der ein in Vertex AI bereitgestelltes Modell darstellt.
Nachdem Sie ein Remote-Modell basierend auf einem Modell erstellt haben, das in Vertex AI bereitgestellt ist, können Sie das Modell mit ML.PREDICT
für Inferenzen verwenden.
Das folgende Beispiel zeigt, wie ein Remote-Modell erstellt wird, das einen HTTPS-Endpunkt verwendet:
ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/endpoints/1234'
Beispiel
Im folgenden Beispiel wird ein BigQuery ML-Remote-Modell über einem Modell erstellt, das auf einem Vertex AI-Endpunkt bereitgestellt wird:
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')
Nächste Schritte
Weitere Informationen zu den unterstützten SQL-Anweisungen und -Funktionen für Remote-Modelle, die HTTPS-Endpunkte verwenden, finden Sie unter End-to-End-Nutzerpfad für jedes Modell.