Cette page vous 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 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.
En fonction de l'endroit où vous souhaitez installer AlloyDB Omni avec AlloyDB/AI, 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 devez 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 d'interroger des modèles Vertex AI à distance, procédez comme suit :
Créez un compte de service avecGoogle 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 réside à cet emplacement pendant toute la durée de vie de votre serveur AlloyDB Omni.
Notez son emplacement dans votre système de fichiers, car vous en aurez besoin pour les étapes suivantes.
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 précédente. Cela inclut le suffixe@PROJECT_ID.iam.gserviceaccount.com
complet, par exemplemy-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 lors des é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 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 bases 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 bases de données avec AlloyDB/AI
Créez un cluster de bases de données avec AlloyDB AI.
Lorsque vous définissez
enabled
surtrue
dans 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.1" 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 bases de données, par exemplemy-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é sous forme de 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 gigaoctets par processeur. Par exemple, si vous avez définicpu
sur2
plus haut dans ce fichier manifeste, nous vous recommandons de définirmemory
sur16Gi
.DISK_SIZE
: taille du disque par instance de base de données, par exemple10Gi
.
Appliquez le fichier manifeste.
kubectl apply -f DB_CLUSTER_YAML
Remplacez les éléments suivants :
DB_CLUSTER_YAML
: nom du fichier manifeste de ce cluster de bases 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 bases 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 la version encodée en base64 a été fournie en tant que secret Kubernetes lors de la création du cluster de bases de données. Par exemple, si vous avez créé le cluster de bases 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 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