Auf dieser Seite werden die wichtigsten Konzepte erläutert, die Sie kennen müssen, bevor Sie einen KI-Modellendpunkt registrieren und Vorhersagen mit der Modellendpunktverwaltung aufrufen.
Informationen zum Registrieren von Remote-Modellendpunkten mit AlloyDB Omni finden Sie unter Remote-KI-Modelle in AlloyDB registrieren und aufrufen.
Übersicht
Mit der Modellendpunktverwaltung können Sie einen Modellendpunkt registrieren, Metadaten für Modellendpunkte in Ihrem Datenbankcluster verwalten und mit SQL-Abfragen Aufrufe an die Remote-Modellendpunkte senden. Sie bietet die google_ml_integration Erweiterung mit Funktionen, mit denen Sie die Metadaten zu KI-Modellen bei AlloyDB registrieren können. Diese registrierten Metadaten werden verwendet, um Vektoreinbettungen zu generieren oder Vorhersagen aufzurufen.
Einige der Beispielmodelltypen, die Sie mit der Modellendpunktverwaltung registrieren können, sind:
- Vertex AI-Modelle zur Texteinbettung und allgemeine Modelle
- Einbettungsmodelle von Drittanbietern wie Hugging Face oder OpenAI
- Benutzerdefinierte Texteinbettungsmodelle, einschließlich selbst gehosteter Modelle oder Modelle, die über private Endpunkte verfügbar sind
- Allgemeine Modelle mit einer JSON-basierten API, z. B. das Modell
facebook/bart-large-mnli, das auf Hugging Face gehostet wird, das Modellgemini-proaus Vertex AI Model Garden oderclaude-Modelle von Anthropic
Funktionsweise
Mit der Modellendpunktverwaltung können Sie einen Modellendpunkt registrieren, der die folgenden Anforderungen erfüllt:
- Die Modelleingabe und -ausgabe unterstützen das JSON-Format.
- Das Modell kann mit dem REST-Protokoll aufgerufen werden.
Wenn Sie einen Modellendpunkt bei der Modellendpunktverwaltung registrieren, wird jeder Endpunkt mit einer eindeutigen Modell-ID registriert, die Sie als Referenz zum Modell angegeben haben.
Mit der Modellendpunkt-ID können Sie Modelle abfragen, um Folgendes zu tun:
Einbettungen generieren, um Text-Prompts in numerische Vektoren zu übersetzen. Sie können generierte Einbettungen als Vektordaten speichern, wenn die Erweiterung
vectorin der Datenbank aktiviert ist. Weitere Informationen finden Sie unter Vektoreinbettungen speichern.Vorhersagen mit SQL aufrufen.
Ihre Anwendungen können über die Erweiterung google_ml_integration auf die Modellendpunktverwaltung zugreifen. Diese Erweiterung bietet die folgenden Funktionen:
- Die SQL-Funktion
google_ml.create_model(), mit der der Modellendpunkt registriert wird, der in der Vorhersage- oder Einbettungsfunktion verwendet wird. - Die
google_ml.create_sm_secret()SQL-Funktion, die Secrets in Google Cloud Secret Manager verwendet, wo die API-Schlüssel gespeichert sind. - Die SQL-Funktion
google_ml.embedding(), eine Vorhersagefunktion, die Texteinbettungen generiert. Der Rückgabetyp der Einbettungsfunktion istREAL[]. - Die SQL-Funktion
google_ml.predict_row(), die Vorhersagen generiert, wenn Sie allgemeine Modelle aufrufen, die das JSON-Ein- und -Ausgabeformat unterstützen. - Andere Hilfsfunktionen, mit denen benutzerdefinierte URLs generiert, HTTP-Header generiert oder Transformationsfunktionen übergeben werden.
- Funktionen zum Verwalten der registrierten Modellendpunkte und Secrets.
Wichtige Konzepte
Bevor Sie die Modellendpunktverwaltung verwenden, sollten Sie die Konzepte kennen, die für die Verbindung zu den Modellen und deren Verwendung erforderlich sind.
Modellanbieter
Modellanbieter gibt die unterstützten Anbieter für das Modellhosting an. Das Festlegen des Modellanbieters ist optional, hilft aber der Modellendpunktverwaltung, den Anbieter zu identifizieren und Header für unterstützte Modelle automatisch zu formatieren. In der folgenden Tabelle sehen Sie den Wert für den Modellanbieter, den Sie basierend auf dem verwendeten Modellanbieter festlegen können:
| Modellanbieter | In der Funktion festlegen als… |
|---|---|
| Vertex AI | google |
| Hugging Face-Modelle | hugging_face |
| Anthropic-Modelle | anthropic |
| OpenAI | open_ai |
| Andere Modelle | custom |
Der Standardmodellanbieter ist custom.
Je nach Anbietertyp unterscheidet sich die unterstützte Authentifizierungsmethode. Die Vertex AI-Modelle verwenden das Dienstkonto, das zum Installieren von AlloyDB Omni verwendet wurde, zur Authentifizierung. Andere Anbieter können Secret Manager verwenden oder Authentifizierungsdetails über Header übergeben. Weitere Informationen finden Sie unter Authentifizierung einrichten.
Modelltyp
Modelltyp gibt den Typ des KI-Modells an. Die Erweiterung unterstützt sowohl Texteinbettungen als auch alle allgemeinen Modelltypen. Die unterstützten Modelltypen, die Sie beim Registrieren eines Modellendpunkts festlegen können, sind text-embedding und generic.
Das Festlegen des Modelltyps ist optional, wenn Sie allgemeine Modellendpunkte registrieren, da generic der Standardmodelltyp ist.
- Vorregistrierte Vertex AI-Modelle
- Die
Modellendpunktverwaltung unterstützt einige Texteinbettungs- und allgemeine Vertex AI-Modelle als vorregistrierte Modell-IDs. Sie können die Modell-ID direkt verwenden, um Einbettungen zu generieren oder Vorhersagen aufzurufen, je nach Modelltyp.
Weitere Informationen zu unterstützten vorregistrierten Modellen finden Sie unter Vorregistrierte Vertex AI-Modelle.
Wenn Sie beispielsweise das vorregistrierte Modelltextembedding-geckoaufrufen möchten, können Sie das Modell direkt mit der Einbettungsfunktion aufrufen:SELECT google_ml.embedding( model_id => 'textembedding-gecko', content => 'AlloyDB is a managed, cloud-hosted SQL database service'); - Modelle mit integrierter Unterstützung
- Die Modellendpunktverwaltung bietet integrierte Unterstützung für einige Modelle von Vertex AI, Anthropic und OpenAI. Für Texteinbettungsmodelle mit integrierter Unterstützung richtet AlloyDB automatisch Standardtransformationsfunktionen ein.
- Wenn Sie diese Modellendpunkte registrieren, legen Sie den qualifizierten Namen explizit fest. Eine Liste der Modelle mit integrierter Unterstützung finden Sie unter Modelle mit integrierter Unterstützung.
- Der Modelltyp für diese Modelle kann
text-embeddingodergenericsein. - Andere Modelle zur Texteinbettung
- Wenn Sie einen Modellendpunkt zur Texteinbettung ohne integrierte Unterstützung registrieren möchten, empfehlen wir, Transformationsfunktionen zu erstellen, um die Ein- und Ausgabeformate zu verarbeiten, die vom Modell unterstützt werden. Je nach den Modellanforderungen müssen Sie möglicherweise auch eine benutzerdefinierte Header-Funktion erstellen, um den Header anzugeben.
- Der Modelltyp für diese Modelle ist
text-embedding. - Allgemeine Modelle
- Die Modellendpunktverwaltung unterstützt auch
die Registrierung aller anderen Modelltypen außer Texteinbettungsmodellen. Verwenden Sie die
google_ml.predict_row()Funktion, um Vorhersagen für allgemeine Modelle aufzurufen. Sie können Metadaten für Modellendpunkte festlegen, z. B. einen Anfrageendpunkt und HTTP-Header, die für Ihr Modell spezifisch sind. - Sie können keine Transformationsfunktionen übergeben, wenn Sie einen allgemeinen Modellendpunkt registrieren. Achten Sie darauf, dass die Eingabe für die Funktion im JSON-Format vorliegt, wenn Sie Vorhersagen aufrufen, und dass Sie die JSON-Ausgabe parsen, um die endgültige Ausgabe abzuleiten.
- Der Modelltyp für diese Modelle ist
generic.
Authentifizierung
Authentifizierungstypen geben den Authentifizierungstyp an, den Sie verwenden können, um mit der Erweiterung google_ml_integration eine Verbindung zur Modellendpunktverwaltung herzustellen. Das Einrichten der Authentifizierung ist optional und nur erforderlich, wenn Sie sich authentifizieren müssen, um auf Ihr Modell zuzugreifen.
Für Vertex AI-Modelle wird das AlloyDB-Dienstkonto zur Authentifizierung verwendet. Für andere Modelle können API-Schlüssel oder Bearertokens, die als Secret in Secret Manager gespeichert sind, mit der SQL-Funktion google_ml.create_sm_secret() verwendet werden. Wenn Sie die Authentifizierung über Header übergeben, können Sie das Festlegen der Authentifizierungsmethode überspringen.
In der folgenden Tabelle sind die Authentifizierungstypen aufgeführt, die Sie festlegen können:
| Authentifizierungsmethode | In der Funktion festlegen als… | Modellanbieter |
|---|---|---|
| AlloyDB-Dienst-Agent | alloydb_service_agent_iam |
Vertex AI-Anbieter |
| Secret Manager | secret_manager |
Drittanbieter wie Anthropic, Hugging Face oder OpenAI |
Vorhersagefunktionen
Die Erweiterung google_ml_integration enthält die folgenden Vorhersagefunktionen:
google_ml.embedding()- Wird verwendet, um einen registrierten Modellendpunkt zur Texteinbettung aufzurufen und Einbettungen zu generieren.
- Bei Texteinbettungsmodellen ohne integrierte Unterstützung sind die Ein- und Ausgabeparameter für ein Modell eindeutig und müssen transformiert werden, damit die Funktion das Modell aufrufen kann. Sie müssen eine Transformationsfunktion für die Eingabe erstellen, um die Eingabe der Vorhersagefunktion in die modellspezifische Eingabe zu transformieren, und eine Transformationsfunktion für die Ausgabe, um die modellspezifische Ausgabe in die Ausgabe der Vorhersagefunktion zu transformieren.
google_ml.predict_row()- Wird verwendet, um einen registrierten allgemeinen Modellendpunkt aufzurufen, sofern das Modell eine JSON-basierte API unterstützt, um Vorhersagen aufzurufen.
Transformationsfunktionen
Transformationsfunktionen ändern die Eingabe in ein Format, das das Modell versteht, und konvertieren die Modellantwort in das Format, das die Vorhersagefunktion erwartet. Die Transformationsfunktionen werden verwendet, wenn der Modellendpunkt text-embedding ohne integrierte Unterstützung registriert wird. Die Signatur der Transformationsfunktionen hängt von der Eingabe ab, die vom Modell erwartet wird.
Sie können keine Transformationsfunktionen verwenden, wenn Sie einen Modellendpunkt vom Typ generic registrieren.
Unten sehen Sie die Signaturen für die Vorhersagefunktion für Modellendpunkte zur Texteinbettung:
// define custom model specific input/output transform functions.
CREATE OR REPLACE FUNCTION input_transform_function(model_id VARCHAR(100), input_text TEXT) RETURNS JSON;
CREATE OR REPLACE FUNCTION output_transform_function(model_id VARCHAR(100), response_json JSON) RETURNS real[];
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 google_ml.embedding():
CREATE OR REPLACE FUNCTION generate_headers(model_id VARCHAR(100), input TEXT) RETURNS JSON;
Für die Vorhersagefunktion google_ml.predict_row() sieht die Signatur so aus:
CREATE OR REPLACE FUNCTION generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON;
Weitere Informationen zum Erstellen einer Header-Generierungsfunktion finden Sie unter Beispiel für eine Funktion zum Generieren von Headern.
Nächste Schritte
- Authentifizierung einrichten für Modellanbieter.
- Modellendpunkt bei der Modellendpunktverwaltung registrieren.
- Weitere Informationen zur Referenz zur Verwaltung von Modellendpunkten.