Questa pagina mostra come installare AlloyDB Omni e integrare AlloyDB AI.
AlloyDB AI è una suite di funzionalità incluse in AlloyDB Omni che ti consente di creare applicazioni aziendali di IA generativa. Per ulteriori informazioni sulle funzionalità di AI/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
AlloyDB Omni può eseguire query sui modelli di ML remoti utilizzando l'estensionegoogle_ml_integration
.
Se vuoi eseguire query sui modelli Vertex AI, puoi configurare l'account di servizio AlloyDB Omni con Vertex AI prima di installare AlloyDB Omni.
Per configurare AlloyDB Omni in modo che esegua query sui modelli remoti, segui questi passaggi:
Crea un account di servizio con Google Cloud.
Crea una chiave dell'account di servizio in formato JSON e scaricala. Prendi nota della chiave dell'account di servizio, perché la utilizzerai in un secondo momento in questa procedura.
Copia la chiave dell'account di servizio che hai creato in
KEY_PATH
. Il percorso della chiave deve essere un percorso sull'host accessibile e di proprietà dell'utente che eseguirà il contenitore AlloyDB Omni.Abilita l'API Vertex AI nel tuo Google Cloud progetto.
gcloud services enable aiplatform.googleapis.com
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 che hai creato nel passaggio 1. È incluso il suffisso@PROJECT_ID.iam.gserviceaccount.com
completo. Ad esempio,my-service@my-project.iam.gserviceaccount.com
.
Configurare l'AI di AlloyDB per AlloyDB Omni
Per installare AlloyDB Omni e integrare AlloyDB AI, compila i seguenti passaggi come utente root:
Completa tutti i passaggi elencati in Configurare AlloyDB Omni per eseguire query sui modelli basati su cloud.
Se esiste già un contenitore con lo stesso nome, interrompilo e rimuovilo.
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
Sostituisci quanto segue:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.
Avvia un nuovo contenitore AlloyDB Omni montando la chiave al suo interno.
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
Sostituisci le seguenti variabili:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.NEW_PASSWORD
: password assegnata all'utentepostgres
del nuovo contenitore dopo la sua creazione. Tieni presente cheNEW_PASSWORD
imposterà una nuova password solo quandoDATA_DIR
è una nuova posizione.DATA_DIR
: percorso della directory host in cui sono memorizzati i dati.KEY_PATH
: percorso del file della chiave dell'account di servizio.HOST_PORT
: porta TCP sulla macchina host su cui il container deve pubblicare la propria porta5432
. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica5432
.
Rendi il file della chiave leggibile dall'utente
postgres
all'interno del container 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
Sostituisci le seguenti variabili:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.KEY_PATH
: percorso dell'host per il file della chiave dell'account di servizio.
Aggiorna AlloyDB Omni aggiungendo le seguenti opzioni di configurazione.
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"
Sostituisci le seguenti variabili:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.
Riavviare il contenitore AlloyDB Omni.
Docker
docker restart CONTAINER_NAME
Docker
docker restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Sostituisci la seguente variabile:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.
Connettiti utilizzando psql
in container
Per connetterti al server del database AlloyDB Omni utilizzando la sua copia con contenitore di psql
, esegui il seguente comando:
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
Sostituisci la seguente variabile:
CONTAINER_NAME
: nome da assegnare al contenitore AlloyDB Omni nel registry dei contenitori della macchina host. Ad esempio,my-omni-1
.
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