Auf dieser Seite wird eine Vorabversion beschrieben, mit der Sie einen Endpunkt für ein KI-Modell registrieren und Vorhersagen mit der Modellendpunktverwaltung in AlloyDB Omni aufrufen können. Informationen zur Verwendung von KI-Modellen in Produktionsumgebungen finden Sie unter Generative KI-Anwendungen mit AlloyDB AI erstellen und Mit Vektoreinbettungen arbeiten.
Informationen zum Registrieren von Remote-Modellendpunkten bei AlloyDB finden Sie unter Remote-KI-Modelle in AlloyDB registrieren und aufrufen.
Übersicht
Mit der Vorabversion der Verwaltung von Modellendpunkten können Sie einen Modellendpunkt registrieren, die Metadaten des Modellendpunkts in Ihrem Datenbankcluster verwalten und dann mithilfe von SQL-Abfragen mit den Modellen interagieren. Sie bietet die Erweiterung google_ml_integration
, die Funktionen zum Hinzufügen und Registrieren der Modellendpunktmetadaten enthält, die sich auf die Modelle beziehen. Anschließend können Sie mit den Modellen Vektoreinbettungen generieren oder Vorhersagen aufrufen.
Im Folgenden finden Sie einige Beispiele für Modelltypen, die Sie mithilfe der Modellendpunktverwaltung registrieren können:
- Vertex AI-Modelle für die Texteinbettung
- Einbetten von Modellen von Drittanbietern wie Anthropic, Hugging Face oder OpenAI
- Benutzerdefiniert gehostete Texteinbettungsmodelle
- Generische Modelle mit einer JSON-basierten API, z. B. das
facebook/bart-large-mnli
-Modell, das auf Hugging Face gehostet wird, oder dasgemini-pro
-Modell aus dem Vertex AI Model Garden
So funktioniert es
Mit der Modellendpunktverwaltung können Sie einen Modellendpunkt registrieren, der den folgenden Anforderungen entspricht:
- Für die Modelleingabe und -ausgabe wird das JSON-Format unterstützt.
- Das Modell kann über das 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 für das Modell angegeben haben. Mit dieser Modell-ID können Sie Modelle abfragen:
Erstellen Sie Einbettungen, um Textprompts in numerische Vektoren umzuwandeln. Sie können generierte Einbettungen als Vektordaten speichern, wenn die
pgvector
-Erweiterung in 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 Modellendpunktverwaltung zugreifen. Diese Erweiterung bietet folgende 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 Geheimnisse im Google CloudSecret Manager verwendet, in dem die API-Schlüssel gespeichert sind. - Die SQL-Funktion
google_ml.embedding()
ist eine Vorhersagefunktion, die Text-Embeddings generiert. - Die SQL-Funktion
google_ml.predict_row()
, mit der Vorhersagen generiert werden, wenn Sie generische Modelle aufrufen, die das JSON-Eingabe- und -Ausgabeformat unterstützen. - Andere Hilfsfunktionen, die zum Generieren benutzerdefinierter URLs, zum Generieren von HTTP-Headern oder zum Übergeben von Transformationsfunktionen für Ihre generischen Modelle verwendet 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
Unter Modellanbieter werden die unterstützten Anbieter des Modell-Hostings angegeben. In der folgenden Tabelle finden Sie den Wert für den Modellanbieter, den Sie je nach verwendetem Modellanbieter festlegen müssen:
Modellanbieter | In Funktion als… festlegen |
---|---|
Vertex AI | google |
Hugging Face-Modelle | custom |
Anthropische Modelle | custom |
Andere Modelle | custom |
OpenAI | open_ai |
Der Standardmodellanbieter ist custom
.
Die unterstützte Authentifizierungsmethode hängt vom Anbietertyp ab. Die Vertex AI-Modelle verwenden das AlloyDB-Dienstkonto für die Authentifizierung, während andere Anbieter den Secret Manager verwenden können. Weitere Informationen finden Sie unter Authentifizierung einrichten.
Modelltyp
Modelltyp gibt den Typ des KI-Modells an. Die Erweiterung unterstützt die Texteinbettung sowie jeden generischen Modelltyp. Die unterstützten Modelltypen, die Sie beim Registrieren eines Modellendpunkts festlegen können, sind text-embedding
und generic
. Das Festlegen des Modelltyps ist beim Registrieren von Endpunkten für generische Modelle optional, da generic
der Standardmodelltyp ist.
- Texteinbettungsmodelle mit integrierter Unterstützung
- Die Modellendpunktverwaltung bietet integrierte Unterstützung für alle Versionen des
textembedding-gecko
-Modells von Vertex AI und destext-embedding-ada-002
-Modells 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 für die Texteinbettung
- Für andere Modelle zur Text-Embedding müssen Sie Transformationsfunktionen erstellen, um die vom Modell unterstützten Eingabe- und Ausgabeformate zu verarbeiten. Optional können Sie die Funktion zur Generierung von HTTP-Headern verwenden, mit der benutzerdefinierte Header generiert werden, die für Ihr Modell erforderlich sind.
- Der Modelltyp für diese Modelle ist
text-embedding
. - Generische Modelle
- Die Endpunktverwaltung für Modelle unterstützt auch die Registrierung aller anderen Modelltypen mit Ausnahme von Modellen für Text-Embeddings. Verwenden Sie die Funktion
google_ml.predict_row()
, um Vorhersagen für generische Modelle aufzurufen. Sie können Metadaten für den Modellendpunkt festlegen, z. B. einen Anfrageendpunkt und HTTP-Header, die für Ihr Modell spezifisch sind. - Sie können keine Transformationsfunktionen übergeben, wenn Sie einen generischen Modellendpunkt registrieren. Achten Sie darauf, dass die Eingabe der 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, mit dem Sie über die Erweiterung google_ml_integration
eine Verbindung zur Endpunktverwaltung des Modells herstellen können. Die 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 für die Authentifizierung verwendet. Bei anderen Modellen kann ein API-Schlüssel oder ein Bearer-Token, das als Secret im Secret Manager gespeichert ist, mit der google_ml.create_sm_secret()
-SQL-Funktion verwendet werden.
In der folgenden Tabelle sind die Authentifizierungstypen aufgeführt, die Sie festlegen können:
Authentifizierungsmethode | In Funktion als… festlegen | Modellanbieter |
---|---|---|
AlloyDB-Dienst-Agent | alloydb_service_agent_iam |
Vertex AI-Anbieter |
Secret Manager | secret_manager |
Drittanbieter wie Anthropic, Hugging Face oder OpenAI |
Vorhersagefunktionen
Die google_ml_integration
-Erweiterung enthält die folgenden Vorhersagefunktionen:
google_ml.embedding()
- Wird verwendet, um einen registrierten Endpunkt für ein Modell für Texteinbettungen aufzurufen und Einbettungen zu generieren. Es bietet integrierte Unterstützung für das
textembedding-gecko
-Modell von Vertex AI und dastext-embedding-ada-002
-Modell von OpenAI. - Bei Modellen für Text-Embeddings ohne integrierte Unterstützung sind die Eingabe- und Ausgabeparameter für jedes Modell eindeutig und müssen transformiert werden, damit die Funktion das Modell aufrufen kann. Erstellen Sie eine Transformierungsfunktion für die Eingabe, um die Eingabe der Vorhersagefunktion in die modellspezifische Eingabe umzuwandeln, und eine Transformierungsfunktion für die Ausgabe, um die modellspezifische Ausgabe in die Ausgabe der Vorhersagefunktion umzuwandeln.
google_ml.predict_row()
- Wird verwendet, um einen registrierten generischen Modellendpunkt aufzurufen, sofern dieser eine JSON-basierte API unterstützt, um Vorhersagen aufzurufen.
Transformationsfunktionen
Transformierungsfunktionen ändern die Eingabe in ein Format, das vom Modell verstanden wird, und wandeln die Modellantwort in das Format um, das von der Prognosefunktion erwartet wird. 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.
Im Folgenden finden Sie die Signaturen für die Vorhersagefunktion für Text-Embedding-Modelle:
// 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 im 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 zur Headergenerierung.
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;
Die Signatur der Vorhersagefunktion google_ml.predict_row()
lautet:
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
- Richten Sie die Authentifizierung für Modellanbieter ein.
- Registrieren Sie einen Modellendpunkt bei der Modellendpunktverwaltung.
- Referenz zur Modellendpunktverwaltung