Cette page vous explique comment installer AlloyDB Omni et intégrer AlloyDB AI.
AlloyDB AI est une suite de fonctionnalités incluses avec AlloyDB Omni qui vous permet de créer des applications d'IA générative d'entreprise. 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 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 des représentations vectorielles continues à partir d'autres contenus, tels qu'une image, par exemple, si vous utilisez l'interface google_ml.predict_row
et effectuez la traduction vous-même dans la requête.
En fonction de l'emplacement où vous souhaitez installer AlloyDB Omni avec l'IA AlloyDB, sélectionnez l'une des options suivantes:
Configurer votre instance AlloyDB Omni pour interroger des modèles distants
AlloyDB Omni peut interroger des modèles de ML distants à l'aide de l'extension google_ml_integration
.
Si vous souhaitez interroger des modèles Vertex AI, vous pouvez configurer le compte de service AlloyDB Omni avec Vertex AI avant d'installer AlloyDB Omni.
Pour configurer AlloyDB Omni afin de interroger des modèles distants, procédez comme suit:
Créez un compte de service avecGoogle Cloud.
Créez une clé de compte de service au format JSON, puis téléchargez-la. Notez la clé du compte de service, car vous l'utiliserez plus tard dans cette procédure.
Copiez la clé du compte de service que vous avez créée dans
KEY_PATH
. Le chemin de clé doit être un chemin sur votre hôte accessible et détenu par l'utilisateur qui exécutera votre conteneur AlloyDB Omni.Activez l'API Vertex AI dans votre Google Cloud projet.
gcloud services enable aiplatform.googleapis.com
Ajoutez les 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éé à l'étape 1. Cela inclut le suffixe@PROJECT_ID.iam.gserviceaccount.com
complet. 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 la section Configurer AlloyDB Omni pour interroger des modèles cloud.
Si un conteneur du 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'utilisateurpostgres
du nouveau conteneur après sa création. Notez queNEW_PASSWORD
ne définira un nouveau mot de passe que lorsqueDATA_DIR
est 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 auquel le conteneur doit publier son propre port5432
. Pour utiliser également le port par défaut PostgreSQL sur la machine hôte, spécifiez5432
.
Rendre le fichier de clé lisible par l'utilisateur
postgres
dans 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 à l'hôte pour votre fichier de clé de 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 votre installation a réussi et qu'elle utilise la prédiction du modèle, saisissez ce qui suit:
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
- Exécuter et se connecter à AlloyDB Omni
- 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