Installer AlloyDB Omni avec AlloyDB AI

Sélectionnez une version de la documentation :

Cette page explique comment installer AlloyDB Omni et intégrer AlloyDB AI.

AlloyDB AI est une suite de fonctionnalités incluses dans AlloyDB Omni qui vous permettent de créer des applications d'IA générative pour les entreprises. Pour en savoir plus sur les fonctionnalités d'IA/ML d'AlloyDB, consultez Créer des applications d'IA générative.

AlloyDB Omni avec AlloyDB AI vous permet d'interroger des modèles de ML distants à l'aide de l'extension google_ml_integration pour utiliser des prédictions en ligne et des embeddings textuels générés à partir de modèles de ML. AlloyDB Omni avec AlloyDB AI peut également traiter les embeddings vectoriels d'autres contenus, comme une image, par exemple si vous utilisez l'interface google_ml.predict_row et effectuez vous-même la traduction dans la requête.

Configurer Google Cloud pour interroger des modèles distants

Si vous souhaitez interroger des modèles Vertex AI, vous devez configurer un compte de service AlloyDB Omni avec Vertex AI avant d'installer AlloyDB Omni.

Pour configurer un compte de service afin d'interroger des modèles distants, procédez comme suit :

  1. Créez un compte de service avecGoogle Cloud. Vous accorderez à ce compte de service les autorisations d'accès à Vertex AI lors d'une étape ultérieure.

  2. Créez une clé de compte de service, enregistrez-la au format JSON dans le fichier private-key.json, puis téléchargez-la.

  3. Copiez la clé de compte de service que vous avez créée dans KEY_PATH. Le chemin d'accès à la clé doit être un chemin d'accès sur votre hôte accessible et appartenant à l'utilisateur qui exécutera AlloyDB Omni.

  4. Activez l'API Vertex AI dans votre projet Google Cloud .

    gcloud services enable aiplatform.googleapis.com
    
  5. Ajoutez des autorisations IAM (Identity and Access Management) Vertex AI au projet et au compte de service appropriés.

    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:SERVICE_ACCOUNT_ID" \
        --role="roles/aiplatform.user"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID de votre projet Google Cloud .

    • SERVICE_ACCOUNT_ID : ID du compte de service que vous avez créé à l'étape 1. Cela inclut le suffixe @PROJECT_ID.iam.gserviceaccount.com complet. Exemple : my-service@my-project.iam.gserviceaccount.com.

  1. Installez le package RPM AlloyDB Omni.

Configurer AlloyDB AI pour AlloyDB Omni

Après avoir installé le package RPM AlloyDB Omni, procédez comme suit pour intégrer AlloyDB AI :

  1. Suivez toutes les étapes décrites dans Configurer Google Cloud pour interroger des modèles distants.

  2. Déplacez la clé du compte de service vers le répertoire de données d'AlloyDB Omni.

    sudo mv KEY_PATH DATA_DIR/private-key.json

    Remplacez les variables suivantes :

    • KEY_PATH : chemin d'accès au fichier de clé de votre compte de service.
    • DATA_DIR : chemin d'accès au répertoire hôte dans lequel vos données sont stockées.
  3. Définissez le propriétaire de la clé du compte de service sur postgres et ses autorisations sur 600.

    sudo chown postgres:postgres DATA_DIR/private-key.json
    sudo chmod 600 DATA_DIR/private-key.json
  4. Mettez à jour la configuration d'AlloyDB Omni en ajoutant les options suivantes au fichier postgresql.conf :

    sudo tee -a DATA_DIR/postgresql.conf << EOF
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = 'DATA_DIR/private-key.json'
    EOF
  5. Redémarrez le service AlloyDB Omni.

    sudo systemctl restart alloydbomni18

Se connecter avec psql

Pour vous connecter à la base de données AlloyDB Omni, exécutez la commande suivante :

sudo -u postgres /usr/lib/postgresql/18/bin/psql -U postgres

Vérifier l'installation d'AlloyDB Omni avec AlloyDB AI

Pour vérifier que l'installation a réussi et utilise la prédiction de modèle, saisissez la commande suivante :

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

La sortie ressemble à ceci :

array_dims
------------
[1:768]
(1 row)

Dans la requête précédente, l'appel embedding() génère des embeddings pour le texte d'entrée AlloyDB AI. array_dims renvoie les dimensions du tableau renvoyé par embedding(). Étant donné que le modèle text-embedding-005 renvoie une sortie avec 768 dimensions, la sortie est [768].

Étapes suivantes