Questa pagina mostra come installare AlloyDB Omni e integrare AlloyDB AI.
AlloyDB AI è una suite di funzionalità incluse in AlloyDB Omni che ti consentono di creare applicazioni aziendali di AI generativa. Per ulteriori informazioni sulla funzionalità AI/ML di AlloyDB, consulta Crea applicazioni di AI generativa.
AlloyDB Omni con AlloyDB AI ti consente di eseguire query sui modelli di ML remoti per lavorare con le previsioni online e gli incorporamenti di testo generati dai modelli di ML. AlloyDB Omni con AlloyDB AI può anche elaborare incorporamenti vettoriali da altri contenuti, ad esempio un'immagine, se utilizzi l'interfaccia google_ml.predict_row
ed esegui la traduzione autonomamente nella query.
In base a dove vuoi installare AlloyDB Omni con AlloyDB AI, seleziona una delle seguenti opzioni:
Configura l'istanza AlloyDB Omni per eseguire query sui modelli remoti
Puoi eseguire query sui modelli remoti utilizzando la gestione degli endpoint dei modelli abilitando googleMLExtension
nel manifest del cluster di database.
Se vuoi eseguire query sui modelli Vertex AI, devi configurare l'account di servizio AlloyDB con Vertex AI, creare un secret Kubernetes utilizzando la chiave e impostare il secret Kubernetes nel manifest del cluster di database.
Aggiungi le autorizzazioni Vertex AI al account di servizio AlloyDB
Per configurare AlloyDB Omni in modo da eseguire query sui modelli Vertex AI remoti:
Crea un service account con Google Cloud.
Crea una chiave dell'account di servizio e salvala in formato JSON nel file
private-key.json
e scaricala.Archivia la chiave in una posizione permanente del file system. Si trova in questa posizione per l'intera durata del server AlloyDB Omni.
Prendi nota della sua posizione nel file system, ti servirà per i passaggi successivi.
Aggiungi le autorizzazioni IAM (Identity and Access Management) di Vertex AI al progetto e al account di servizio 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 del service account creato nel passaggio precedente. Ciò include 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 del account di servizio scaricata nei passaggi precedenti, esegui questo 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 secret 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 del 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 elencati in Installa l'operatore AlloyDB Omni.
Crea un cluster di database con AlloyDB AI
Crea un cluster di database con AlloyDB AI.
Quando imposti
enabled
sutrue
nel campogoogleMLExtension
, puoi eseguire query sui modelli remoti. ImpostavertexAIKeyRef
sul secret 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.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
Sostituisci quanto segue:
DB_CLUSTER_NAME
: il nome di questo cluster di database, ad esempiomy-db-cluster
.VERTEX_AI_SECRET_NAME
(Facoltativo): il secret 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 ruolo utentepostgres
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 di questo file manifest del cluster di database, ad esempioalloydb-omni-db-cluster.yaml
.
Connessione tramite psql preinstallato
Puoi creare una connessione di test utilizzando un client psql
già installato sul pod che esegue il database.
Per farlo, esegui questi 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 cluster di database. È lo stesso nome del cluster di database che hai dichiarato quando l'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 durante la creazione del cluster di database. Ad esempio, se hai creato il
cluster di database con un secret Q2hhbmdlTWUxMjM=
, la password di accesso da
utilizzare qui è ChangeMe123
.
Verifica l'installazione di AlloyDB Omni con AlloyDB AI
Per verificare che l'installazione sia andata a buon fine e 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
- Esegui e connettiti ad AlloyDB Omni
- Gestire AlloyDB Omni
- Crea applicazioni di AI generativa utilizzando AlloyDB AI
- Registrare e chiamare modelli di AI remoti