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 pour travailler avec des prédictions en ligne et des embeddings de texte générés à partir de modèles de ML. AlloyDB Omni avec AlloyDB AI peut également traiter les embeddings vectoriels provenant d'autres contenus, comme une image, par exemple, si vous utilisez l'interface google_ml.predict_row et que vous effectuez vous-même la traduction dans la requête.
Configurer votre instance AlloyDB Omni pour interroger des modèles distants
AlloyDB Omni peut interroger des modèles de ML à distance à l'aide de l'extension google_ml_integration.
Si vous souhaitez interroger des modèles Vertex AI, vous devez configurer le compte de service AlloyDB Omni avec Vertex AI avant d'installer AlloyDB Omni.
Pour configurer AlloyDB Omni afin d'interroger des modèles à distance, procédez comme suit :
- Créez un compte de service avecGoogle Cloud. 
- Créez une clé de compte de service au format JSON et téléchargez-la. Notez la clé du compte de service, car vous l'utiliserez plus tard dans cette procédure. 
- 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 votre conteneur AlloyDB Omni.
- Activez l'API Vertex AI dans votre projet Google Cloud . - gcloud services enable aiplatform.googleapis.com 
- Ajoutez les autorisations Vertex AI Identity and Access Management (IAM) 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 complet- @PROJECT_ID.iam.gserviceaccount.com. Exemple :- my-service@my-project.iam.gserviceaccount.com.
 
Configurer AlloyDB AI pour AlloyDB Omni
Pour installer AlloyDB Omni et intégrer AlloyDB/AI, procédez comme suit en tant qu'utilisateur racine :
- Suivez toutes les étapes décrites dans Configurer AlloyDB Omni pour interroger des modèles basés sur le cloud. 
- Si un conteneur portant le même nom existe déjà, arrêtez-le et supprimez-le. - Docker- docker stop CONTAINER_NAME- docker rm CONTAINER_NAME- Docker- docker stop CONTAINER_NAME- docker rm CONTAINER_NAME- Podman- podman stop CONTAINER_NAME- podman rm CONTAINER_NAME- Podman- podman stop CONTAINER_NAME- podman rm CONTAINER_NAME- Remplacez les éléments suivants : - CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
 
- Démarrez un nouveau conteneur AlloyDB Omni en installant la clé dans le conteneur. - Docker- docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest - Docker- docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest - Podman- podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest - Podman- podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest - Remplacez les variables suivantes : - CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
- NEW_PASSWORD: mot de passe attribué à l'utilisateur- postgresdu nouveau conteneur après sa création. Notez que- NEW_PASSWORDne définira un nouveau mot de passe que si- DATA_DIRest un nouvel emplacement.
- DATA_DIR: chemin d'accès au répertoire hôte dans lequel vos données sont stockées.
- KEY_PATH: chemin d'accès au fichier de clé de votre compte de service.
- HOST_PORT: port TCP sur la machine hôte sur lequel le conteneur doit publier son propre port- 5432. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez- 5432.
 
- Rendez le fichier de clé lisible par l'utilisateur - postgresdans le conteneur AlloyDB Omni.- Docker- docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json- docker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json- Docker- docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json- docker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json- Podman- podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json- podman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json- Podman- podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.json- podman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.json- Remplacez les variables suivantes : - CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
- KEY_PATH: chemin d'accès hôte au fichier de clé de votre compte de service.
 
- Mettez à jour AlloyDB Omni en ajoutant les options de configuration suivantes. - Docker- docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF" - Docker- docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF" - Podman- podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF" - Podman- podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF" - Remplacez les variables suivantes : - CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
 
- Redémarrez le conteneur AlloyDB Omni. - Docker- docker restart CONTAINER_NAME - Docker- docker restart CONTAINER_NAME - Podman- podman restart CONTAINER_NAME - Podman- podman restart CONTAINER_NAME - Remplacez la variable suivante : - CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
 
Se connecter à l'aide de psql conteneurisé
Pour vous connecter au serveur de base de données AlloyDB Omni à l'aide de sa propre copie conteneurisée de psql, exécutez la commande suivante :
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Remplacez la variable suivante :
- CONTAINER_NAME: nom à attribuer à votre conteneur AlloyDB Omni dans le registre de conteneurs de votre machine hôte. Exemple :- my-omni-1
Vérifier l'installation d'AlloyDB Omni avec AlloyDB AI
Pour vérifier que l'installation a réussi et qu'elle utilise la prédiction du 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
- Exécuter AlloyDB Omni et s'y connecter
- Gérer AlloyDB Omni
- Créer des applications d'IA générative à l'aide d'AlloyDB AI
- Enregistrer et appeler des modèles d'IA distants