Auf dieser Seite wird beschrieben, wie Sie einen KI-Modellendpunkt registrieren und Vorhersagen mit der Modellendpunktverwaltung in Cloud SQL aufrufen. Informationen zur Verwendung von KI-Modellen in Produktionsumgebungen finden Sie unter Vektoreinbettungen generieren und verwalten.
Übersicht
Mit der Verwaltung von Modellendpunkten können Sie einen Modellendpunkt registrieren, Metadaten von Modellendpunkten in Ihrer Cloud SQL-Instanz verwalten und dann mit den Modellen über SQL-Abfragen interagieren. Sie können diese Modelle verwenden, um Vektoreinbettungen zu generieren oder Vorhersagen aufzurufen.
Sie können die folgenden Modelltypen mit der Modellendpunktverwaltung registrieren:
- Vertex AI-Modelle zur Texteinbettung.
- Benutzerdefinierte Texteinbettungsmodelle, die in Netzwerken innerhalb von Google Cloudgehostet werden.
Generische Modelle mit einer JSON-basierten API. Beispiele für diese Modelle:
- Das Modell
gemini-flash
aus dem Vertex AI Model Garden - Das
open_ai
-Modell für OpenAI-Modelle - Modelle, die in Netzwerken innerhalb von Google Cloudgehostet werden
- Das Modell
Funktionsweise
Mit der Verwaltung von Modellendpunkten können Sie einen Modellendpunkt registrieren, der den folgenden Anforderungen entspricht:
- Die Modell-Ein- und -Ausgabe unterstützen das JSON-Format.
- Sie können das REST-Protokoll verwenden, um das Modell aufzurufen.
Wenn Sie einen Modellendpunkt bei der Modellendpunktverwaltung registrieren, registriert die Modellendpunktverwaltung jeden Endpunkt mit einer eindeutigen Modell-ID als Referenz zum Modell. Sie können diese Modell-ID verwenden, um Modelle abzufragen:
Einbettungen generieren, um Text-Prompts in numerische Vektoren zu übersetzen. Sie können generierte Einbettungen als Vektordaten speichern, wenn Sie die Unterstützung von Vektoreinbettungen für Ihre Instanz aktivieren. Weitere Informationen finden Sie unter Vektoreinbettungen für Ihre Instanz aktivieren und deaktivieren.
Rufen Sie Vorhersagen auf, um ein Modell mithilfe von SQL innerhalb einer Transaktion aufzurufen.
Wenn Sie Remote-KI-Modelle mit Ihrer Cloud SQL-Instanz registrieren und aufrufen möchten, muss auf Ihrer Instanz die Wartungsversion MYSQL_VERSION.R20250531.01_14
oder höher installiert sein.
Wenn auf Ihrer Instanz eine Wartungsversion vor MYSQL_VERSION.R20250531.01_14
ausgeführt wird, können Sie nur die folgenden Funktionen verwenden, wie in der Einbindung von Cloud SQL und Vertex AI beschrieben.
Informationen zum Upgrade Ihrer Instanz auf die Wartungsversion MYSQL_VERSION.R20250531.01_14
oder höher finden Sie unter Selfservice-Wartung.
Nach dem Upgrade Ihrer Instanz können Sie die folgenden Funktionen nutzen:
mysql.ml_create_model_registration()
: Registriert den Modellendpunkt, der in der Vorhersage- oder Einbettungsfunktion verwendet wird.mysql.ml_create_sm_secret_registration()
: verwendet Secrets in Google Cloud Secret Manager, wo die API-Schlüssel gespeichert sind
Außerdem können Sie die folgenden Funktionen mit Ihrem registrierten Modellanbieter verwenden:
mysql.ml_embedding()
: Generiert Texteinbettungenmysql.ml_predict_row()
: Generiert Vorhersagen, wenn Sie generische Modelle aufrufen, die die JSON-Eingabe- und ‑Ausgabeformate unterstützen.
Erforderliche Datenbanknutzerberechtigungen
Zum Registrieren und Aufrufen von Remote-KI-Modellen müssen Sie als MySQL-Datenbanknutzer angemeldet sein, dem die Berechtigungen SELECT
und EXECUTE
für mysql.*
gewährt wurden.
Standardmäßig hat jeder Nutzer mit der Rolle cloudsqlsuperuser
diese Berechtigungen oder kann einen Nutzer erstellen und die erforderlichen Berechtigungen erteilen.
Weitere Informationen zur Rolle cloudsqlsuperuser
in Cloud SQL finden Sie unter MySQL 8.0-Nutzerberechtigungen und MySQL 8.4-Nutzerberechtigungen.
Wichtige Konzepte
Bevor Sie mit der Verwaltung von Modellendpunkten beginnen, sollten Sie sich mit den Konzepten vertraut machen, die für die Verbindung zu den Modellen und deren Verwendung erforderlich sind.
Modellanbieter
Model provider ist der unterstützte Anbieter des Modell-Hostings. In der folgenden Tabelle sehen Sie den Wert für den Modellanbieter, den Sie basierend auf dem von Ihnen verwendeten Modellanbieter festlegen müssen:
Modellanbieter | In Funktion festgelegt als… |
---|---|
Vertex AI (einschließlich Gemini) | google |
Anthropic | anthropic |
Hugging Face | hugging_face |
OpenAI | open_ai |
Andere Modelle,die außerhalb von Vertex AI gehostet werden, Anthropic, Hugging Face und OpenAI |
custom |
Der Standardanbieter für Modelle ist custom
.
Modelltypen
Modelltypen sind die Typen des KI-Modells. Wenn Sie einen Modellendpunkt registrieren, können Sie die Modelltypen text_embedding
oder generic
für den Endpunkt festlegen.
Wenn Sie Vertex AI als Modellanbieter verwenden, müssen Sie keinen Modellendpunkt registrieren, da die Endpunkte automatisch unterstützt werden.
Standardmäßig verwenden Sie mit Vertex AI das Modell text-embedding-005
.
text_embedding
.mysql.ml_predict_row()
, um Vorhersagen für generische Modelle aufzurufen.
Sie können Metadaten für Modellendpunkte festlegen, z. B. einen Anfrageendpunkt und HTTP-Header, die für Ihr Modell spezifisch sind.generic
. Da generic
der Standardmodelltyp ist, ist die Festlegung des Modelltyps optional, wenn Sie Modellendpunkte für diesen Typ registrieren.gemini-2.5-flash
-Modell.Authentifizierungsmethoden
Sie können die Unterstützung für Vektoreinbettungen in Ihrer Cloud SQL for MySQL-Instanz aktivieren und dann verschiedene Authentifizierungsmethoden für den Zugriff auf Ihr Modell angeben. Das Festlegen dieser Methoden ist optional und nur erforderlich, wenn Sie sich authentifizieren müssen, um auf Ihr Modell zuzugreifen.Bei Vertex AI-Modellen wird das Cloud SQL-Dienstkonto für die Authentifizierung verwendet. Bei anderen Modellen kann der API-Schlüssel oder das Bearer-Token, das als Secret im Secret Manager gespeichert ist, mit der SQL-Funktion mysql.ml_create_sm_secret_registration()
verwendet werden.
In der folgenden Tabelle sind die Authentifizierungsmethoden aufgeführt, die Sie festlegen können:
Authentifizierungsmethode | In Funktion festgelegt als… | Modellanbieter |
---|---|---|
Cloud SQL-Dienst-Agent | auth_type_cloudsql_service_agent_iam |
Vertex AI-Anbieter |
Secret Manager | auth_type_secret_manager |
Modelle, die außerhalb von Vertex AI gehostet werden |
Vorhersagefunktionen
mysql.ml_embedding()
- Ruft einen registrierten Texteinbettungsmodell-Endpunkt auf, um Einbettungen zu generieren. Es bietet integrierte Unterstützung für alle Einbettungsmodelle von Vertex AI.
- Bei Modelle für Texteinbettungen ohne integrierte Unterstützung sind die Ein- und Ausgabeparameter für jedes Modell eindeutig und müssen transformiert werden, damit die Funktion das Modell aufrufen kann. Erstellen Sie eine Transform-Eingabefunktion, um die Eingabe der Vorhersagefunktion in die modellspezifische Eingabe zu transformieren, und eine Transform-Ausgabefunktion, um die modellspezifische Ausgabe in die Ausgabe der Vorhersagefunktion zu transformieren.
mysql.ml_predict_row()
- Ruft einen registrierten generischen Modellendpunkt auf, wenn der Endpunkt JSON-basierte APIs zum Aufrufen von Vorhersagen unterstützt.
Transformationsfunktionen
Transformationsfunktionen ändern die Eingabe in ein Format, das das Modell versteht, und wandeln die Modellantwort in das Format um, das die Vorhersagefunktion erwartet. Die Transformationsfunktionen werden verwendet, wenn der text-embedding
-Modellendpunkt ohne integrierte Unterstützung registriert wird. Die Signatur der Transformationsfunktionen hängt von der Vorhersagefunktion für den Modelltyp ab.
Sie können keine Transformationsfunktionen verwenden, wenn Sie einen generic
-Modellendpunkt registrieren.
Nachfolgend sehen Sie die Signaturen für die Vorhersagefunktion für Modelle für Texteinbettungen:
// define custom model specific input/output transform functions.
CREATE FUNCTION IF NOT EXISTS input_transform_function(model_id VARCHAR(100), input_text TEXT) RETURNS JSON DETERMINISTIC;
// the returned BLOB should be of type VECTOR
CREATE FUNCTION IF NOT EXISTS output_transform_function(model_id VARCHAR(100), response_json JSON) RETURNS BLOB DETERMINISTIC;
Weitere Informationen zum Erstellen von Transformationsfunktionen finden Sie unter Beispiel für Transformationsfunktionen.
Funktion zum Generieren von HTTP-Headern
Die Funktion zum Generieren von HTTP-Headern generiert die Ausgabe in JSON-Schlüssel/Wert-Paaren, die als HTTP-Header verwendet werden. Die Signatur der Vorhersagefunktion definiert die Signaturen der Header-Generierungsfunktion.
Das folgende Beispiel zeigt die Signatur für die Vorhersagefunktion mysql.ml_embedding()
:
CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input TEXT) RETURNS JSON DETERMINISTIC;
Für die Vorhersagefunktion mysql.ml_predict_row()
lautet die Signatur so:
CREATE FUNCTION IF NOT EXISTS generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON DETERMINISTIC;
Weitere Informationen zum Erstellen einer Funktion zum Generieren von Headern finden Sie unter Beispiel für eine Funktion zum Generieren von Headern.
Beschränkungen
Wenn Sie eine der Funktionen für die Modellregistrierung oder die Secret-Verwaltung ausführen, werden alle offenen Transaktionen in der Sitzung implizit übernommen. Mit den Vorhersagefunktionen werden Transaktionen nicht implizit festgeschrieben.
Wenn Sie Ihre Datenbank mit
mysqldump
exportieren oder importieren, wird der Modellendpunktkatalog nicht exportiert.Eine Nutzerdatenbank, die Transformationsfunktionen enthält, darf keinen Punkt (
'.'
) im Namen haben. Eine Datenbank mit dem Namenmy.sql
wird beispielsweise nicht unterstützt.Die Verwaltung von Modellendpunkten ist nur für Cloud SQL for MySQL-Version 8.0.36 und höher verfügbar.
Nächste Schritte
- Authentifizierung für Modellanbieter einrichten
- Modellendpunkt bei der Modellendpunktverwaltung registrieren.
- Referenz zur Verwaltung von Modellendpunkten