Onlinevorhersagen aus Cloud SQL-Instanzen aufrufen

Auf dieser Seite wird beschrieben, wie Sie Onlinevorhersagen aus einer Cloud SQL-Instanz aufrufen.

Mit Cloud SQL können Sie durch Aufrufen der mysql.ml_predict_row() Funktion Onlinevorhersagen in Ihrem SQL-Code abrufen. Weitere Informationen finden Sie unter Generative AI Anwendungen mit Cloud SQL erstellen.

Hinweise

Bevor Sie Onlinevorhersagen aus einer Cloud SQL-Instanz aufrufen können, müssen Sie Ihre Datenbank vorbereiten und ein geeignetes ML-Modell auswählen.

Datenbank vorbereiten

Richten Sie die Einbindung zwischen Cloud SQL und Vertex AI ein, um Ihre Datenbank vorzubereiten.

ML-Modell auswählen

Wenn Sie die Funktion mysql.ml_predict_row() aufrufen, müssen Sie den Speicherort eines ML-Modells angeben. Das von Ihnen angegebene Modell kann eines der folgenden sein:

  • Ein Modell, das in Vertex AI Model Garden ausgeführt wird.

    Die Funktion mysql.ml_predict_row() unterstützt das Aufrufen von Vorhersagen nur für tabellarische oder benutzerdefinierte Modelle.

  • Ein Vertex AI-Modell mit einem aktiven Endpunkt, für den Sie die IAM-Berechtigung (Identity and Access Management) haben.

    Cloud SQL unterstützt keine privaten Endpunkte für das Abrufen von Onlinevorhersagen.

Onlinevorhersagen aufrufen

Mit der SQL-Funktion mysql.ml_predict_row() haben Sie die Möglichkeit, Onlinevorhersagen für Ihre Daten aufzurufen.

Das Format des Anfangsarguments der Funktion hängt davon ab, ob sich das ML-Modell das Sie verwenden möchten, im Vertex AI Model Garden befindet oder ein Endpunkt ist, der in einem Cloud de Confiance Projekt ausgeführt wird.

Modell in Vertex AI Model Garden verwenden

Zum Aufrufen einer Onlinevorhersage mit einem ML-Modell, das in Vertex AI Model Garden ausgeführt wird, verwenden Sie die folgende Syntax für die SQL-Funktion mysql.ml_predict_row():

SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');

Ersetzen Sie die folgenden Werte:

  • MODEL_ID: die ID des zu verwendenden ML-Modells (z. B. gemini-2.0)

  • INSTANCES: die Eingaben für den Vorhersageaufruf im JSON-Format

  • PARAMETERS: die Parameter für den Vorhersageaufruf im JSON-Format

SELECT mysql.ML_PREDICT_ROW('publishers/google/models/MODEL_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');
Informationen zu den JSON-Antwortnachrichten des Modells finden Sie in der Referenz zum Foundation Model der generativen KI. Beispiele finden Sie unter Beispielaufrufe.

Vertex AI-Modellendpunkt verwenden

Verwenden Sie die folgende Syntax für die SQL-Funktion mysql.ml_predict_row(), um eine Onlinevorhersage mit einem Vertex AI-Modellendpunkt aufzurufen:

SELECT mysql.ML_PREDICT_ROW('endpoints/ENDPOINT_ID', '{ "instances": [ INSTANCES ], "parameters":
PARAMETERS }');

Ersetzen Sie die folgenden Werte:

  • ENDPOINT_ID: die ID des Modellendpunkts

  • INSTANCES: Die Eingaben für den Vorhersageaufruf im JSON-Format

  • PARAMETERS: die Parameter für den Vorhersageaufruf im JSON-Format

Informationen zu den JSON-Antwortnachrichten des Modells finden Sie unter PredictResponse.

Beispielaufrufe

Im folgenden Beispiel wird Gemini 2.5 Flashverwendet, das im Model Garden verfügbar ist, um Text basierend auf einem kurzen Prompt zu generieren, der als Literalargument für mysql.ml_predict_row() bereitgestellt wird:

sql select mysql.ML_PREDICT_ROW('publishers/google/models/gemini-2.0-flash:generateContent', '{ "contents": [{ "role": "user", "parts": [{ "text": "Write me a short poem about MySQL" }] }] }');

Die Antwort ist ein JSON-Objekt. Weitere Informationen zum Format des Objekts finden Sie unter Antworttext.

Im nächsten Beispiel wird das vorherige so geändert:

  • Im Beispiel wird der Inhalt der Spalte messages.message der aktuellen Datenbank als Eingabe verwendet.

  • Im Beispiel wird die Verwendung der json_object() Funktion als Unterstützung bei der Formatierung der Funktionsparameter veranschaulicht.

select mysql.ML_PREDICT_ROW('projects/PROJECT_ID/locations/us-central1/publishers/google/models/text-bison', json_object('instances', json_object('prompt', message), 'parameters', json_object('maxOutputTokens', 1024,'topK', 40,'topP', 0.8,'temperature', 0.2))) from messages;

Für jede Zeile in der Tabelle messages enthält das zurückgegebene JSON-Objekt jetzt einen Eintrag im Array candidates.

Da die Antwort ein JSON-Objekt ist, können Sie bestimmte Felder daraus abrufen:

select JSON_EXTRACT(mysql.ml_PREDICT_ROW('publishers/google/models/gemini-2.0-flash:generateContent', JSON_OBJECT(
  'contents', JSON_ARRAY(
    JSON_OBJECT(
      'role', 'user',
      'parts', JSON_ARRAY(
        JSON_OBJECT(
          'text', message
        )
      )
    )
  )
)), '$.candidates[0].content.parts[0].text') from messages;

Weitere Beispielargumente für ml_predict_row() finden Sie unter Vertex AI Gemini testen. API.

Nächste Schritte