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 Funktion mysql.ml_predict_row() 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

Um Ihre Datenbank vorzubereiten, richten Sie eine Einbindung zwischen Cloud SQL und Vertex AI ein.

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 das ML-Modell, das Sie verwenden möchten, sich im Vertex AI Model Garden befindet oder ein Endpunkt ist, der in einem Google Cloud -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 PaLM 2 for Text verwendet, 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 predictions.

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 API testen.

Nächste Schritte