Cette page vous explique comment installer AlloyDB Omni et y 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 de ML d'AlloyDB, consultez la page 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 vous-même la traduction 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
Vous pouvez interroger des modèles distants à l'aide de la gestion des points de terminaison de modèle en activant googleMLExtension
dans le fichier manifeste de votre cluster de base de données.
Si vous souhaitez interroger des modèles Vertex AI, vous pouvez configurer le compte de service AlloyDB avec Vertex AI, créer un secret Kubernetes à l'aide de la clé et définir le secret Kubernetes dans le fichier manifeste du cluster de base de données.
Ajouter les autorisations Vertex AI au compte de service AlloyDB
Pour configurer AlloyDB Omni afin de interroger des modèles Vertex AI distants, procédez comme suit:
Créez un compte de service avec Google Cloud.
Créez une clé de compte de service, enregistrez-la au format JSON dans le fichier
private-key.json
, puis téléchargez-la.Stockez la clé dans un emplacement permanent de votre système de fichiers. Il se trouve à cet emplacement pendant toute la durée de vie de votre serveur AlloyDB Omni.
Notez son emplacement dans votre système de fichiers. Vous en aurez besoin pour les étapes suivantes.
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 précédente. Cela inclut le suffixe@PROJECT_ID.iam.gserviceaccount.com
complet (par exemple,my-service@my-project.iam.gserviceaccount.com
).
Créer un secret Kubernetes à l'aide de la clé du compte de service
Pour créer un secret Kubernetes basé sur la clé de compte de service téléchargée dans les étapes précédentes, exécutez la commande suivante:
kubectl create secret generic SECRET_NAME \
--from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \
-n NAMESPACE
Remplacez les éléments suivants :
SECRET_NAME
: nom du secret utilisé lorsque vous créez un fichier manifesteDBCluster
pour permettre à AlloyDB Omni d'accéder aux fonctionnalités d'AlloyDB AI. Par exemple,vertex-ai-key-alloydb
.PATH_TO_SERVICE_ACCOUNT_KEY
: chemin d'accès à l'emplacement où vous avez téléchargé la clé de compte de serviceprivate-key.json
.NAMESPACE
: espace de noms du cluster de base de données.
Installer l'opérateur AlloyDB Omni
Installez l'opérateur AlloyDB Omni en suivant les étapes décrites dans Installer l'opérateur AlloyDB Omni.
Créer un cluster de base de données avec AlloyDB AI
Créez un cluster de base de données avec AlloyDB AI.
Lorsque vous définissez
enabled
surtrue
sous le champgoogleMLExtension
, vous pouvez interroger des modèles distants. DéfinissezvertexAIKeyRef
sur le secret Kubernetes si vous souhaitez interroger des modèles Vertex AI.apiVersion: v1 kind: Secret metadata: name: db-pw-DB_CLUSTER_NAME type: Opaque data: DB_CLUSTER_NAME: "ENCODED_PASSWORD" --- apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.0" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME features: googleMLExtension: enabled: true config: vertexAIKeyRef: VERTEX_AI_SECRET_NAME vertexAIRegion: VERTEX_AI_REGION resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZE storageClass: standard
Remplacez les éléments suivants :
DB_CLUSTER_NAME
: nom de ce cluster de base de données (par exemple,my-db-cluster
).VERTEX_AI_SECRET_NAME
(facultatif): secret Vertex AI que vous avez créé lors des étapes précédentes. Vous devez définir cette option si vous souhaitez appeler des modèles Vertex AI.VERTEX_AI_REGION
(facultatif): point de terminaison régional Vertex AI auquel vous souhaitez envoyer votre requête (par exemple,us-west4
). La valeur par défaut estus-central1
.ENCODED_PASSWORD
: mot de passe de connexion à la base de données pour le rôle utilisateurpostgres
par défaut, encodé en tant que chaîne base64 (par exemple,Q2hhbmdlTWUxMjM=
pourChangeMe123
).CPU_COUNT
: nombre de processeurs disponibles pour chaque instance de base de données de ce cluster de bases de données.MEMORY_SIZE
: quantité de mémoire par instance de base de données de ce cluster de bases de données. Nous vous recommandons de définir cette valeur sur 8 Go par processeur. Par exemple, si vous avez définicpu
sur2
plus tôt dans ce fichier manifeste, nous vous recommandons de définirmemory
sur16Gi
.DISK_SIZE
: taille de disque par instance de base de données (par exemple,10Gi
).
Appliquez le fichier manifeste.
kubectl apply -f DB_CLUSTER_YAML
Remplacez les éléments suivants :
DB_CLUSTER_YAML
: nom de ce fichier manifeste de cluster de base de données (par exemple,alloydb-omni-db-cluster.yaml
).
Se connecter à l'aide de psql préinstallé
Vous pouvez établir une connexion de test à l'aide d'un client psql
déjà installé sur le pod exécutant la base de données.
Pour ce faire, exécutez les commandes suivantes:
export DBPOD=`kubectl get pod --selector=alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -o jsonpath='{.items[0].metadata.name}'`
kubectl exec -ti $DBPOD -c database -- psql -h localhost -U postgres
Remplacez DB_CLUSTER_NAME
par le nom de votre cluster de base de données. Il s'agit du même nom de cluster de base de données que vous avez déclaré lors de sa création.
Une fois la commande saisie, le serveur de base de données vous invite à saisir un mot de passe.
Saisissez le mot de passe dont vous avez fourni la version encodée en base64 en tant que secret Kubernetes lors de la création du cluster de base de données. Par exemple, si vous avez créé le cluster de base de données avec un secret Q2hhbmdlTWUxMjM=
, le mot de passe de connexion à utiliser ici est ChangeMe123
.
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