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 à distance à 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 des embeddings vectoriels provenant 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 l'interrogation de modèles à distance Google Cloud

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 à distance, procédez comme suit :

  1. Créez un compte de service avec Google Cloud. Vous accorderez à ce compte de service des autorisations pour accéder à Vertex AI à une étape ultérieure.

  2. Créez une clé de compte de service et 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 Google Cloud projet.

    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 Google Cloud projet.

    • SERVICE_ACCOUNT_ID: ID du compte de service que vous avez créé à la première étape. Cela inclut le suffixe complet @PROJECT_ID.iam.gserviceaccount.com. 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 l'interrogation de modèles à distance.

  2. Déplacez la clé de 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é de 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 à l'aide de 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 votre installation a réussi et qu'elle utilise la prédiction de modèle, saisissez les éléments suivants :

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].

Étape suivante