Auf dieser Seite wird eine Vorabversion beschrieben, mit der Sie das Registrieren eines KI-Modellendpunkts und das Aufrufen von Vorhersagen mit der Endpunktverwaltung von Modellen in AlloyDB Omni testen können. Informationen zur Verwendung von KI-Modellen in Produktionsumgebungen finden Sie unter Generative KI-Anwendungen mit AlloyDB AI und Mit Vektoreinbettungen arbeiten.
Informationen zum Registrieren von Remote-Modellendpunkten mit AlloyDB finden Sie unter Remote-KI-Modelle in AlloyDB registrieren und aufrufen.
Übersicht
Mit der Vorschau Verwaltung von Modellendpunkten können Sie einen Modellendpunkt registrieren, Metadaten für Modellendpunkte in Ihrem Datenbankcluster verwalten und dann mit SQL-Abfragen mit den Modellen interagieren. Sie bietet die google_ml_integration Erweiterung, die
Funktionen zum Hinzufügen und Registrieren der Metadaten für Modellendpunkte enthält, die mit den Modellen verknüpft sind, und zum anschließenden Verwenden der
Modelle zum Generieren von Vektoreinbettungen oder zum Aufrufen von Vorhersagen.
Einige der Beispielmodelltypen, die Sie mit der Endpunktverwaltung von Modellen registrieren können, sind:
- Vertex AI-Modelle zur Texteinbettung
- Einbettungsmodelle von Drittanbietern wie Anthropic, Hugging Face oder OpenAI
- Benutzerdefinierte Texteinbettungsmodelle
- Allgemeine Modelle mit einer JSON-basierten API, z. B. das Modell
facebook/bart-large-mnli, das auf Hugging Face gehostet wird, oder das Modellgemini-proaus Vertex AI Model Garden
Funktionsweise
Mit der Endpunktverwaltung für Modelle können Sie einen Modellendpunkt registrieren, der die folgenden Anforderungen erfüllt:
- Modelleingabe und -ausgabe unterstützen das JSON-Format.
- Das Modell kann mit dem REST-Protokoll aufgerufen werden.
Wenn Sie einen Modellendpunkt bei der Modell-Endpunktverwaltung registrieren, wird jeder Endpunkt mit einer eindeutigen Modell-ID registriert, die Sie als Referenz zum Modell angegeben haben. Mit dieser Modell-ID können Sie Modelle abfragen:
Einbettungen generieren, um Text-Prompts in numerische Vektoren zu übersetzen. Sie können generierte Einbettungen als Vektordaten speichern, wenn die Erweiterung
pgvectorin der Datenbank aktiviert ist. Weitere Informationen finden Sie unter Einbettungen mit pgvector abfragen und indexieren.Vorhersagen aufrufen, um ein Modell mithilfe von SQL innerhalb einer Transaktion aufzurufen.
Ihre Anwendungen können über die Erweiterung google_ml_integration auf die Verwaltung von Modellendpunkten 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. - 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 und HTTP-Header generiert oder Transformationsfunktionen für Ihre allgemeinen Modelle übergeben werden.
- Funktionen zum Verwalten der registrierten Modellendpunkte und Secrets.
Wichtige Konzepte
Bevor Sie die Endpunktverwaltung für Modelle 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 von Modell-Hosting an. In der folgenden Tabelle sehen Sie den Wert für den Modellanbieter, den Sie je nach verwendetem Modellanbieter festlegen müssen:
| Modellanbieter | In der Funktion festlegen als… |
|---|---|
| Vertex AI | google |
| Hugging Face-Modelle | custom |
| Anthropic-Modelle | custom |
| Andere Modelle | custom |
| OpenAI | open_ai |
Der Standardmodellanbieter ist custom.
Je nach Anbietertyp unterscheidet sich die unterstützte Authentifizierungsmethode. Die Vertex AI-Modelle verwenden das AlloyDB-Dienstkonto zur Authentifizierung, während andere Anbieter Secret Manager zur Authentifizierung verwenden können. Weitere Informationen finden Sie unter Authentifizierung einrichten.
Modelltyp
Modelltyp gibt den Typ des KI-Modells an. Die Erweiterung unterstützt Texteinbettungen sowie 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.
- Texteinbettungsmodelle mit integrierter Unterstützung
- Die
Verwaltung von Modellendpunkten bietet integrierte Unterstützung für alle Versionen des
textembedding-geckoModells von Vertex AI und destext-embedding-ada-002Modells von OpenAI. Verwenden Sie die Funktiongoogle_ml.create_model(), um diese Modellendpunkte zu registrieren. AlloyDB richtet automatisch Standardtransformationsfunktionen für diese Modelle ein. - Der Modelltyp für diese Modelle ist
text-embedding. - Andere Modelle zur Texteinbettung
- Für andere Modelle zur Texteinbettung müssen Sie Transformationsfunktionen erstellen, um die von dem Modell unterstützten Ein- und Ausgabeformate zu verarbeiten. Optional können Sie die Funktion zum Generieren von HTTP-Headern verwenden, die benutzerdefinierte Header generiert, die für Ihr Modell erforderlich sind.
- Der Modelltyp für diese Modelle ist
text-embedding. - Allgemeine Modelle
- Die Endpunktverwaltung von Modellen unterstützt auch die Registrierung aller anderen Modelltypen außer Modelle zur Texteinbettung. 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 beim Aufrufen von Vorhersagen im JSON-Format vorliegt 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 über die Erweiterung google_ml_integration eine Verbindung zur Endpunktverwaltung von Modellen 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.
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 für Texteinbettungen aufzurufen und
Einbettungen zu generieren. Sie bietet integrierte Unterstützung für das
textembedding-geckoModell von Vertex AI und dastext-embedding-ada-002Modell von OpenAI. - Für Modelle zur Texteinbettung 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. Erstellen Sie eine Transformationsfunktion für die Eingabe, 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 er eine JSON-basierte API unterstützt, um Vorhersagen aufzurufen.
Transformationsfunktionen
Transformationsfunktionen ändern die Eingabe in ein Format, das das Modell versteht, und konvertieren die Antwort des Modells in das Format, das die Vorhersagefunktion erwartet. Die Transformationsfunktionen werden beim Registrieren des Modellendpunkts text-embedding ohne integrierte Unterstützung verwendet. 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.
Unten sehen Sie die Signaturen für die Vorhersagefunktion für Modelle 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 Funktion zum Generieren von Headern.
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() lautet die Signatur so:
CREATE OR REPLACE FUNCTION generate_headers(model_id VARCHAR(100), input JSON) RETURNS JSON;
Weitere Informationen zum Erstellen einer Funktion zum Generieren von Headern finden Sie unter Beispiel für eine Funktion zum Generieren von Headern.
Nächste Schritte
- Authentifizierung einrichten für Modellanbieter.
- Modellendpunkt bei der Endpunktverwaltung registrieren.
- Erfahren Sie mehr über die Referenz zur Endpunktverwaltung von Modellen.