Utiliser des modèles d'IA dans OCI GoldenGate pour créer des incorporations de vecteurs

Découvrez comment générer des intégrations vectorielles à l'aide du service AI dans les déploiements de réplication de données à l'aide de GoldenGate 26ai et versions supérieures.

Présentation

OCI GoldenGate inclut un service d'IA qui permet aux processus GoldenGate d'interagir avec les modèles d'IA de différents fournisseurs (OCI Generative AI, OpenAI, Google Gemini et Voyage AI) pour générer des incorporations vectorielles directement dans les pipelines de réplication de données.

Les étapes suivantes vous guident tout au long de la configuration de la connectivité aux modèles AI et de leur utilisation pour générer des incorporations vectorielles dans une réplication.

Avant de commencer

Pour continuer, vous devez disposer des éléments suivants :

Tâche 1 : configurer l'environnement

Tâche 2 : configurer le modèle AI

Tâche 3 : créer l'extraction intégrée

L'extraction intégrée capture les modifications continues apportées à la base de données source.

  1. Sur la page Détails du déploiement, sélectionnez Lancer la console.

  2. Si nécessaire, entrez oggadmin pour le nom utilisateur et le mot de passe que vous avez utilisés lors de la création du déploiement, puis sélectionnez Connexion.

  3. Ajouter des données de transaction et une table de points de reprise :

    1. Ouvrez le menu de navigation, puis sélectionnez Connexions de base de données.

    2. Sélectionnez Connexion à la base de données SourceDB.

    3. Dans le menu de navigation, sélectionnez Trandata, puis Ajouter Trandata (icône Plus).

    4. Dans Nom du schéma, entrez SRC_OCIGGLL, puis sélectionnez Soumettre.

    5. Pour vérifier, entrez SRC_OCIGGLL dans le champ Rechercher et sélectionnez Rechercher.

    6. Ouvrez le menu de navigation, puis sélectionnez Connexions de base de données.

    7. Sélectionnez Connexion à la base de données TargetDB.

    8. Dans le menu de navigation, sélectionnez Point de reprise, puis Ajouter un point de reprise (icône Plus).

    9. Dans Table de point de reprise, entrez "SRCMIRROR_OCIGGLL"."CHECKTABLE", puis sélectionnez Soumettre.

  4. Ajoutez une extraction.

    Remarque : Pour plus d'informations sur les paramètres que vous pouvez utiliser pour spécifier des tables source, voir Options de paramètre d'extraction supplémentaires.

    Sur la page Paramètres d'extraction, ajoutez les lignes suivantes sous EXTTRAIL <trail-name> :

    -- 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.*;
  5. Recherchez les éventuelles transactions à longue durée d'exécution. Exécutez le script suivant sur la base de données source :

    select start_scn, start_time from gv$transaction where start_scn < (select max(start_scn) from dba_capture);

    Si la requête renvoie des lignes, vous devez localiser le numéro SCN de la transaction, puis valider ou annuler la transaction.

Tâche 4 : ajouter et exécuter une réplication non intégrée

  1. Ajoutez et exécutez une réplication.

    Sur l'écran Fichier de paramètre, remplacez MAP *.*, TARGET *.*; par le script suivant :

    	-- 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)
     );

    Remarque 

    La fonction @AISERVICE crée une intégration de vecteur à partir des données stockées dans la colonne CITY à l'aide de la connexion de modèle AI définie précédemment.

  2. Effectuez des insertions dans la base de données source :

    1. Revenez à la console Oracle Cloud et utilisez le menu de navigation pour revenir à Oracle AI Database, à Autonomous AI Transaction Processing, puis à SourceDB.

    2. Sur la page Détails de la base de données source, sélectionnez Database actions, puis SQL.

    3. Entrez les insertions suivantes, puis sélectionnez Exécuter le script :

      		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);
    4. Dans la console de déploiement OCI GoldenGate, sélectionnez le nom d'extraction (UAEXT), puis sélectionnez Statistiques. Vérifiez que SRC_OCIGGLL.SRC_CITY est répertorié avec 10 insertions.

    5. Revenez à l'écran Overview, sélectionnez le nom de réplication (REP), puis sélectionnez Statistics. Vérifiez que SRCMIRROR_OCIGGLL.SRC_CITY est répertorié avec 10 insertions

    6. Accédez à la page Détails du lakehouse Autonomous AI cible, sélectionnez Database Actions, puis SQL

    7. Dans SQL, exécutez select * from SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR; et vérifiez les résultats, y compris les incorporations vectorielles créées par OCI GoldenGate à l'aide du service AI.

La table SRCMIRROR_OCIGGLL.SRC_CITY_VECTOR contient des lignes répliquées à partir de SRC_OCIGGLL.SRC_CITY et la colonne CITY_EMBED contient une intégration de vecteur générée pour chaque ville.

Dépannage