Mit der Erweiterung google_ml_integration in AlloyDB for PostgreSQL können Sie Onlinevorhersagen von Modellen für maschinelles Lernen direkt in Ihren SQL-Abfragen aufrufen.
Sie können die Funktion ml_predict_row() im Schema public für generische Modelle aufrufen, die in der Gemini Enterprise Agent Platform gehostet werden, ohne einen Endpunkt zu registrieren. Alternativ können Sie die Funktion google_ml.predict_row() im Schema google_ml für Modelle aufrufen, die mit der Modellendpunktverwaltung registriert wurden.
Wählen Sie eines der folgenden Schemas aus, um Vorhersagen aufzurufen.
Hinweis
So ermöglichen Sie AlloyDB, Vorhersagen aufzurufen:
- Sie können Vorhersagen in Regionen aufrufen, in denen generative KI auf der Agent Platform verfügbar ist. Eine Liste der Regionen finden Sie unter Bereitstellungen und Endpunkte.
- Stellen Sie mit
psqloder AlloyDB Studio eine Verbindung zu Ihrer Datenbank her. - Prüfen Sie, ob die Erweiterung
google_ml_integrationinstalliert ist. - Prüfen Sie, ob das Flag
google_ml_integration.enable_model_supportaufongesetzt ist. - Bevor Sie Vorhersagen aus einer AlloyDB-Datenbank aufrufen können, müssen Sie AlloyDB für die Verwendung mit der Agent Platform konfigurieren. Weitere Informationen finden Sie unter Datenbank in die Agent Platform einbinden.
- Sie benötigen ein aktives Agent Platform-Modell mit einem aktiven Endpunkt, für den Sie die IAM-Berechtigung (Identity and Access Management) haben. AlloyDB unterstützt keine privaten Endpunkte für das Abrufen von Onlinevorhersagen.
Datenbanknutzern die Berechtigung dazu erteilen, die Vorhersagefunktion zur Ausführung von Vorhersagen zu verwenden:
\c DB_NAME; GRANT EXECUTE ON FUNCTION ml_predict_row TO USER_NAME;Ersetzen Sie Folgendes:
DB_NAME: der Name der Datenbank, für die die Berechtigungen gewährt werden sollenUSER_NAME: der Name des Nutzers, dem die Berechtigungen erteilt werden sollen
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 das ML-Modell, das Sie verwenden möchten, sich im Model Garden befindet oder ein Endpunkt ist, der in einem Google Cloud -Projekt ausgeführt wird.
Modell in Model Garden verwenden
Zum Aufrufen einer Onlinevorhersage mit einem ML-Modell, das in 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', '{"instances": [CONTENTS]}');
Ersetzen Sie Folgendes:
PROJECT_ID: die ID Ihres Projekts in Google CloudREGION_ID: die ID der Google Cloud -Region, in der sich das Modell befindet, z. B.us-central1für gemini-2.5-flashMODEL_ID: die ID des zu verwendenden ML-Modells, z. B. gemini-2.5-flashCONTENTS: 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.
Agent Platform-Modellendpunkt verwenden
Verwenden Sie die folgende Syntax für die SQL-Funktion ml_predict_row(), um eine Onlinevorhersage mit einem Agent Platform-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 befindetREGION_ID: die ID der Google Cloud -Region, in der sich das Modell befindet, z. B.us-central1ENDPOINT_ID: die ID des ModellendpunktsCONTENTS: 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-2.5-flash 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-2.5-flash: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 folgenden Beispiel wird das vorherige Beispiel so geändert:
Im Beispiel wird der Inhalt der Spalte
messages.messageder 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-2.5-flash:generateContent',
json_build_object(
'contents',
json_build_object(
'role', 'user',
'parts', json_build_object('text', message)
)
)
)
FROM messages;
Das zurückgegebene JSON-Objekt enthält für jede Zeile in der Tabelle messages ein candidates-Array.
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-2.5-flash:generateContent',
json_build_object(
'contents',
json_build_object(
'role', 'user',
'parts', json_build_object('text', message)
)
)
) -> 'candidates' -> 0 -> 'content' -> 'parts' -> 0 -> 'text'
FROM messages;
Weitere Beispielargumente für ml_predict_row() finden Sie in der Kurzanleitung zur Verwendung der Agent Platform API.
Nächste Schritte
- Informationen zum Erstellen eines intelligenten Einkaufsassistenten mit AlloyDB, pgvector und Modellendpunktverwaltung
- Referenz zur Verwaltung von Modellendpunkten