Mit KI-Modellen in OCI GoldenGate Vektoreinbettungen erstellen
Erfahren Sie, wie Sie Vektoreinbettungen mit dem AI-Service in Datenreplikations-Deployments mit GoldenGate 26ai und höher generieren.
Überblick
OCI GoldenGate umfasst einen KI-Service, mit dem GoldenGate-Prozesse mit KI-Modellen verschiedener Anbieter (OCI Generative AI, OpenAI, Google Gemini und Voyage AI) interagieren können, um Vektoreinbettungen direkt in Datenreplikationspipelines zu generieren.
Die folgenden Schritte führen Sie durch das Einrichten der Konnektivität zu KI-Modellen und deren Verwendung zum Generieren von Vektoreinbettungen in einem Replicat.
Bevor Sie beginnen
Sie benötigen Folgendes, um fortzufahren:
-
Eine vorhandene Quelldatenbank.
-
Ein vorhandenes Oracle AI Database-Ziel, das Vektoren unterstützt, wie Oracle Autonomous AI Lakehouse.
-
Wenn Sie Oracle Autonomous AI Database verwenden, entsperren Sie den GGADMIN-Benutzer.
-
Die Quell- und Zieldatenbank müssen sich in demselben Mandanten und derselben Region befinden
-
Wenn Sie Beispieldaten benötigen, laden Sie Archive.zip herunter, und befolgen Sie die Anweisungen unter Übung 1, Aufgabe 3: ATP-Schema laden.
-
Ein vorhandener OCI-API-Schlüssel.
-
Ein vorhandener OCI Vault mit dem privaten API-Schlüsselinhalt.
-
Die minimalen empfohlenen Policys für die Verwendung von OCI GoldenGate.
-
Die minimalen empfohlenen Policys zur Verwendung von OCI Generative AI.
Aufgabe 1: Umgebung einrichten
-
Erstellen Sie eine Oracle Autonomous AI Transaction Processing-(ATP-)Quellverbindung.
-
Erstellen Sie eine Oracle Autonomous AI Lakehouse-(ALK-)Zielverbindung.
-
Verwenden Sie ein SQL-Tool, um zusätzliches Logging in der Quelldatenbank zu aktivieren:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -
Führen Sie die folgende Abfrage im SQL-Tool aus, um sicherzustellen, dass support_mode=FULL für alle Tabellen in der Quelldatenbank gilt:
select * from DBA_GOLDENGATE_SUPPORT_MODE where owner = 'SRC_OCIGGLL'; -
Erstellen Sie die folgende Tabelle in der ALK-Zieldatenbank, um die Vektoreinbettung zu speichern, die mit dem OpenAI-Modell text-embedding-3-small erstellt wird:
CREATE TABLE "SRCMIRROR_OCIGGLL"."SRC_CITY_VECTOR" ( "CITY_ID" NUMBER(10,0), "CITY" VARCHAR2(50 BYTE), "REGION_ID" NUMBER(10,0), "POPULATION" NUMBER(10,0), "CITY_EMBED" VECTOR(1536,FLOAT32) );
Aufgabe 2: AI-Modell konfigurieren
-
AI-Modellverbindung erstellen
-
Name: OCI_GenAI_TextEmbeddingSmall
-
Typ: KI-Modell
-
Providertyp: OCI Generative AI
-
Authentifizierungstyp: OCI Generative AI
-
Benutzer: Aktuellen Mandanten und aktuellen Benutzer verwenden
-
Region angeben
-
Secret mit dem OCI-API-Schlüssel angeben oder erstellen
-
Geben Sie den API-Schlüssel-Fingerprint ein
-
Einbettungsmodell aus der Liste auswählen, z.B. openai.text-embedding-3-small
-
Wählen Sie Erstellen
-
-
Verbindungsdetails prüfen
-
Weisen Sie der Bereitstellung eine AI-Modellverbindung zu:
-
Gehen Sie zur Seite "Deployment-Details", und wählen Sie Zugewiesene Verbindungen aus
-
Wählen Sie im Abschnitt "Zugewiesene KI-Modellverbindungen" die Option Verbindung zuweisen aus, und wählen Sie dann die AI-Modellverbindung aus.
-
Wählen Sie Verbindung zuweisen aus, um die Zuweisung zu bestätigen
-
-
Stellen Sie sicher, dass die neue AI-Modellverbindung im Abschnitt "Zugewiesene AI-Modellverbindungen" aufgeführt ist.
-
Durch die Zuweisung der AI-Modellverbindung zum Deployment wird der AI-Service in GoldenGate automatisch konfiguriert
-
Melden Sie sich bei der OCI GoldenGate-Konsole an, gehen Sie zu "KI-Modelle", und prüfen Sie die Liste der KI-Modelle.
-
Notieren Sie sich den Modellnamen, wie Sie ihn benötigen, um die Funktion @AISERVICE in einem Replicat zu verwenden und die Vektoreinbettung zu erstellen.
-
Der Modellname in der Funktion
@AISERVICEmuss mit dem in OCI GoldenGate AI Models angezeigten Modellnamen übereinstimmen. Es kann sich vom Verbindungsnamen unterscheiden.
-
Aufgabe 3: Integrierten Extract erstellen
Ein integrierter Extract erfasst fortlaufende Änderungen an der Quelldatenbank.
-
Wählen Sie auf der Seite "Deployment-Details" die Option Konsole starten.
-
Geben Sie bei Bedarf oggadmin als Benutzernamen und Kennwort ein, das Sie beim Erstellen des Deployments verwendet haben, und wählen Sie Anmelden aus.
-
Transaktionsdaten und Checkpoint-Tabelle hinzufügen:
-
Rufen Sie das Navigationsmenü auf, und wählen Sie DB-Verbindungen aus.
-
Wählen Sie Verbindung zu Datenbank-SourceDB herstellen aus.
-
Wählen Sie im Navigationsmenü Trandata und dann Trandata hinzufügen (Plussymbol).
-
Geben Sie unter Schemaname
SRC_OCIGGLLein, und wählen Sie Weiterleiten aus. -
Geben Sie zur Prüfung
SRC_OCIGGLLin das Suchfeld ein, und wählen Sie Suchen aus. -
Klicken Sie auf das Navigationsmenü, und wählen Sie DB-Verbindungen aus.
-
Wählen Sie Verbindung zur Datenbank-TargetDB herstellen aus.
-
Wählen Sie im Navigationsmenü Checkpoint, Checkpoint hinzufügen (Plussymbol) aus.
-
Geben Sie unter Checkpoint-Tabelle
"SRCMIRROR_OCIGGLL"."CHECKTABLE"ein, und wählen Sie Weiterleiten aus.
-
-
Fügen Sie einen Extract hinzu.
Hinweis: Weitere Informationen zu Parametern, mit denen Sie Quelltabellen angeben können, finden Sie unter Zusätzliche Exportparameteroptionen.
Hängen Sie die folgenden Zeilen auf der Seite "Extract-Parameter" unter
EXTTRAIL <trail-name>an:-- Capture DDL operations for listed schema tables ddl include mapped -- Add step-by-step history of to the report file. Useful when troubleshooting. ddloptions report -- Write capture stats per table to the report file daily. report at 00:01 -- Rollover the report file weekly. Useful when IE runs -- without being stopped/started for long periods of time to -- keep the report files from becoming too large. reportrollover at 00:01 on Sunday -- Report total operations captured, and operations per second -- every 10 minutes. reportcount every 10 minutes, rate -- Table list for capture table SRC_OCIGGLL.*; -
Prüfen Sie, ob Transaktionen mit langer Ausführungszeit vorliegen. Führen Sie das folgende Skript in der Quelldatenbank aus:
select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);Wenn die Abfrage Zeilen zurückgibt, müssen Sie die SCN der Transaktion suchen und die Transaktion anschließend festschreiben oder zurücksetzen.
Aufgabe 4: Nicht integriertes Replicat hinzufügen und ausführen
-
Fügen Sie ein Replicat hinzu, und führen Sie es aus.
Ersetzen Sie auf der Seite Parameterdatei
MAP *.*, TARGET *.*;durch das folgende Skript:-- Capture DDL operations for listed schema tables ddl include mapped -- -- Add step-by-step history of ddl operations captured -- to the report file. Very useful when troubleshooting. ddloptions report -- -- Write capture stats per table to the report file daily. report at 00:01 -- -- Rollover the report file weekly. Useful when PR runs -- without being stopped/started for long periods of time to -- keep the report files from becoming too large. reportrollover at 00:01 on Sunday -- -- Report total operations captured, and operations per second -- every 10 minutes. reportcount every 10 minutes, rate -- -- Table map list for apply MAP SRC_OCIGGLL.SRC_CITY, TARGET SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR, COLMAP ( USEDEFAULTS, CITY_EMBED = @AISERVICE(embed,'OCI_GenAI_TextEmbeddingSmall',CITY) );Hinweis
Mit der Funktion @AISERVICE wird ein Vektor erstellt, der aus den in der Spalte CITY gespeicherten Daten mit der zuvor definierten AI-Modellverbindung eingebettet wird.
-
Inserts in die Quelldatenbank ausführen:
-
Kehren Sie zur Oracle Cloud-Konsole zurück, und navigieren Sie über das Navigationsmenü zurück zu Oracle AI Database, Autonomous AI Transaction Processing und dann zu SourceDB.
-
Wählen Sie auf der Seite "SourceDB Details" die Option Database actions aus, und wählen Sie SQL aus.
-
Geben Sie die folgenden Einfügevorgänge ein, und wählen Sie Skript ausführen aus:
Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581); Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002); -
Wählen Sie in der OCI GoldenGate-Deployment-Konsole den Extraktnamen (UAEXT) aus, und wählen Sie Statistiken aus. Prüfen Sie, ob SRC_OCIGGLL.SRC_CITY mit 10 Einfügungen aufgeführt ist.
-
Kehren Sie zum Bildschirm "Überblick" zurück, wählen Sie Replikatname (REP) und dann Statistiken aus. Prüfen Sie, ob SRCMIRROR_OCIGGLL.SRC_CITY mit 10 Einfügungen aufgeführt ist
-
Gehen Sie zur Seite "Autonomous AI Lakehouse Details", und wählen Sie Database Actions aus. Wählen Sie dann SQL aus
-
Führen Sie in SQL
select * from SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR;aus, und prüfen Sie die Ergebnisse, einschließlich der Vektoreinbettungen, die von OCI GoldenGate mit dem AI-Service erstellt wurden.
-
Die Tabelle SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR enthält Zeilen, die aus SRC_OCIGGLL.SRC_CITY repliziert werden, und die Spalte CITY_EMBED enthält eine generierte Vektoreinbettung für jede Stadt.
Problembehandlung
-
Wenn Replicat das Modell nicht aufrufen kann, prüfen Sie, ob die AI-Modellverbindung dem Deployment erfolgreich zugewiesen wurde.
-
Wenn die Authentifizierung nicht erfolgreich verläuft, prüfen Sie das OCI-API-Schlüssel-Secret, den Fingerprint, den Benutzer, den Mandanten und die Region.
-
Wenn Zeilen repliziert werden, aber keine Einbettungen generiert werden, stellen Sie sicher, dass der Modellname in
@AISERVICEmit dem Modellnamen übereinstimmt, der in OCI GoldenGate AI Models aufgeführt ist. -
Wenn das Replicat in der Zieltabelle nicht erfolgreich ist, prüfen Sie, ob die Zieldatenbank Vektorspalten unterstützt und
CITY_EMBEDmit Dimensionen definiert ist, die mit dem ausgewählten Einbettungsmodell kompatibel sind. -
Wenn der Capture-Vorgang nicht erfolgreich verläuft oder Tabellen übersprungen werden, prüfen Sie, ob das zusätzliche Logging aktiviert ist und ob der Supportmodus der Quelltabelle
FULLlautet.