Questa pagina mostra come installare AlloyDB Omni e integrare AlloyDB AI al suo interno.
AlloyDB AI è una suite di funzionalità incluse in AlloyDB Omni che ti consente di creare applicazioni aziendali di IA generativa. Per ulteriori informazioni sulla funzionalità di ML di AlloyDB, consulta Creare applicazioni di AI generativa.
AlloyDB Omni con AlloyDB AI ti consente di eseguire query sui modelli ML remoti per lavorare con le previsioni online e gli incorporamenti di testo generati dai modelli ML. AlloyDB Omni con AlloyDB AI può anche elaborare gli embedding vettoriali da altri contenuti, ad esempio un'immagine, se utilizzi l'interfaccia google_ml.predict_row
e esegui la traduzione autonomamente nella query.
A seconda di dove vuoi installare AlloyDB Omni con AlloyDB AI, seleziona una delle seguenti opzioni:
Configurare l'istanza AlloyDB Omni per eseguire query sui modelli remoti
Puoi eseguire query sui modelli remoti utilizzando la gestione degli endpoint dei modelli attivando googleMLExtension
nel manifest del cluster di database.
Se vuoi eseguire query sui modelli Vertex AI, puoi configurare l'account di servizio AlloyDB con Vertex AI, creare un segreto Kubernetes utilizzando la chiave e impostare il segreto Kubernetes nel manifest del cluster di database.
Aggiungi le autorizzazioni Vertex AI all'account di servizio AlloyDB
Per configurare AlloyDB Omni in modo da eseguire query sui modelli Vertex AI remoti:
Crea un account di servizio con Google Cloud.
Crea una chiave dell'account di servizio, salvala in formato JSON nel file
private-key.json
e scaricala.Memorizza la chiave in una posizione permanente sul file system. Rimane in questa posizione per tutta la durata del server AlloyDB Omni.
Prendi nota della posizione nel file system, ti servirà per i passaggi successivi.
Aggiungi le autorizzazioni IAM (Identity and Access Management) di Vertex AI all'account di servizio e al progetto appropriati.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role="roles/aiplatform.user"
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo Google Cloud progetto.SERVICE_ACCOUNT_ID
: l'ID dell'account di servizio creato nel passaggio precedente. È incluso il suffisso@PROJECT_ID.iam.gserviceaccount.com
completo, ad esempiomy-service@my-project.iam.gserviceaccount.com
.
Crea un secret Kubernetes utilizzando la chiave dell'account di servizio
Per creare un secret Kubernetes basato sulla chiave dell'account di servizio scaricata nei passaggi precedenti, esegui il seguente comando:
kubectl create secret generic SECRET_NAME \
--from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \
-n NAMESPACE
Sostituisci quanto segue:
SECRET_NAME
: il nome del segreto utilizzato quando crei un manifestDBCluster
per consentire ad AlloyDB Omni di accedere alle funzionalità di AlloyDB AI. Ad esempio:vertex-ai-key-alloydb
.PATH_TO_SERVICE_ACCOUNT_KEY
: il percorso della posizione in cui hai scaricato la chiave dell'account di servizioprivate-key.json
.NAMESPACE
: lo spazio dei nomi del cluster di database.
Installa l'operatore AlloyDB Omni
Installa l'operatore AlloyDB Omni seguendo i passaggi descritti in Installare l'operatore AlloyDB Omni.
Crea un cluster di database con l'IA di AlloyDB
Crea un cluster di database con l'IA di AlloyDB.
Se imposti
enabled
sutrue
nel campogoogleMLExtension
, puoi eseguire query sui modelli remoti. ImpostavertexAIKeyRef
sul segreto Kubernetes se vuoi eseguire query sui modelli 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
Sostituisci quanto segue:
DB_CLUSTER_NAME
: il nome di questo cluster di database, ad esempiomy-db-cluster
.VERTEX_AI_SECRET_NAME
(Facoltativo): il segreto Vertex AI che hai creato nei passaggi precedenti. Devi impostare questa opzione se vuoi chiamare i modelli Vertex AI.VERTEX_AI_REGION
(facoltativo): l'endpoint regionale di Vertex AI a cui vuoi inviare la richiesta, ad esempious-west4
. Il valore predefinito èus-central1
.ENCODED_PASSWORD
: la password di accesso al database per il ruolopostgres
utente predefinito, codificata come stringa base64, ad esempioQ2hhbmdlTWUxMjM=
perChangeMe123
.CPU_COUNT
: il numero di CPU disponibili per ogni istanza di database in questo cluster di database.MEMORY_SIZE
: la quantità di memoria per istanza di database di questo cluster di database. Ti consigliamo di impostare questo valore su 8 gigabyte per CPU. Ad esempio, se hai impostatocpu
su2
in precedenza in questo manifest, ti consigliamo di impostarememory
su16Gi
.DISK_SIZE
: le dimensioni del disco per istanza di database, ad esempio10Gi
.
Applica il manifest.
kubectl apply -f DB_CLUSTER_YAML
Sostituisci quanto segue:
DB_CLUSTER_YAML
: il nome del file manifest del cluster di database, ad esempioalloydb-omni-db-cluster.yaml
.
Eseguire la connessione utilizzando il client psql preinstallato
Puoi effettuare una connessione di prova utilizzando un client psql
già installato sul pod che esegue il database.
Per farlo, esegui i seguenti comandi:
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
Sostituisci DB_CLUSTER_NAME
con il nome del tuo cluster
di database. Si tratta dello stesso nome del cluster di database che hai dichiarato quando lo hai creato.
Dopo aver inserito il comando, il server di database ti chiede una password.
Inserisci la password di cui hai fornito la versione con codifica base64 come secret Kubernetes quando hai creato il cluster di database. Ad esempio, se hai creato il
cluster di database con un segreto Q2hhbmdlTWUxMjM=
, la password di accesso da
utilizzare qui è ChangeMe123
.
Verificare AlloyDB Omni con l'installazione di AlloyDB AI
Per verificare che l'installazione sia andata a buon fine e che utilizzi la previsione del modello, inserisci quanto segue:
CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
SELECT array_dims(embedding( 'text-embedding-005', 'AlloyDB AI')::real[]);
L'output è simile al seguente:
array_dims
------------
[1:768]
(1 row)
Nella query precedente, la chiamata embedding()
genera incorporamenti per il testo di input AlloyDB AI
.
array_dims
restituisce le dimensioni dell'array restituito da embedding()
.
Poiché il modello text-embedding-005
restituisce un output con 768 dimensioni, l'output è [768]
.
Passaggi successivi
- Eseguire ed eseguire il collegamento ad AlloyDB Omni
- Gestire AlloyDB Omni
- Creare applicazioni di IA generativa utilizzando AlloyDB AI
- Registrare e chiamare modelli di IA remota