Vorhersagen aufrufen

Auf dieser Seite wird beschrieben, wie Sie Vorhersagen mit Funktionen aus den Namespaces public und google_ml aufrufen. Die Erweiterung google_ml_integration enthält Vorhersagefunktionen für diese Namespaces.

Sie können die Funktion ml_predict_row() im Schema public mit jedem generischen Modell verwenden, das in Vertex AI gehostet wird, ohne den Endpunkt zu registrieren. Die Funktion google_ml.predict_row() im google_ml-Schema kann mit jedem Modell verwendet werden, das bei der Modellendpunktverwaltung registriert wurde.

Wählen Sie eines der folgenden Schemas aus, um Vorhersagen aufzurufen.

Hinweise

So lassen Sie AlloyDB Vorhersagen aufrufen:

Onlinevorhersagen aufrufen

Mit der SQL-Funktion 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 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 google_ml.predict_row():

SELECT ml_predict_row('projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/MODEL_ID', '{ CONTENTS }');

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud -Projekts

  • REGION_ID: die ID der Google Cloud Region, in der sich das Modell befindet, z. B. us-central1 für gemini-pro

  • MODEL_ID: die ID des zu verwendenden ML-Modells, z. B. gemini-pro

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

Wenn das ML-Modell im selben Projekt und in derselben Region wie Ihr AlloyDB-Cluster gespeichert ist, können Sie das erste Argument dieser Funktion abkürzen:

SELECT ml_predict_row('publishers/google/models/MODEL_ID', '{ CONTENTS }');

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 ml_predict_row(), um eine Onlinevorhersage mit einem Vertex AI-Modellendpunkt aufzurufen:

SELECT ml_predict_row('projects/PROJECT_ID/locations/REGION_ID/endpoints/ENDPOINT_ID', '{ CONTENTS }');

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Google Cloud Projekts, in dem sich das Modell befindet

  • REGION_ID: Die ID der Google Cloud -Region, in der sich das Modell befindet, z. B. us-central1

  • ENDPOINT_ID: die ID des Modellendpunkts

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

Wenn sich der Endpunkt im selben Projekt und in derselben Region wie Ihr AlloyDB-Cluster befindet, können Sie das erste Argument dieser Funktion abkürzen:

SELECT ml_predict_row('endpoints/ENDPOINT_ID', '{ CONTENTS }');

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

Beispielaufrufe

Im folgenden Beispiel wird gemini-pro verwendet, das im Model Garden verfügbar ist, um Text basierend auf einem kurzen Prompt zu generieren, der als Literalargument für ml_predict_row() bereitgestellt wird:

SELECT
  json_array_elements(ml_predict_row('publishers/google/models/gemini-1.5-pro:streamGenerateContent',
      '{ "contents": [ { "role": "user", "parts": [ { "text": "For TPCH database schema as mentioned here https://www.tpc.org/TPC_Documents_Current_Versions/pdf/TPC-H_v3.0.1.pdf , generate a SQL query to find all supplier names which are located in the India nation."
} ] } ] }'))-> 'candidates' -> 0 -> 'content' -> 'parts' -> 0 -> 'text';

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_build_object()-Funktion als Unterstützung bei der Formatierung der Funktionsparameter veranschaulicht.


select ml_predict_row('projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-1.5-pro:generateContent', json_build_object('contents', json_build_object('text', message))) from messages;

Das zurückgegebene JSON-Objekt enthält jetzt für jede Zeile in der Tabelle messages einen Eintrag im Array predictions.

Da die Antwort ein JSON-Objekt ist, können Sie bestimmte Felder mit dem PostgreSQL-Pfeiloperator abrufen:

select ml_predict_row('projects/PROJECT_ID/locations/us-central1/publishers/google/models/gemini-1.5-pro:generateContent', json_build_object('contents', json_build_object('text', message)))->'predictions'->0->'content' FROM messages;

Weitere Beispielargumente für ml_predict_row() finden Sie unter Kurzanleitung zur Verwendung der Vertex AI API.

Nächste Schritte