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.
Configura l'istanza AlloyDB Omni per eseguire query sui modelli remoti
AlloyDB Omni può eseguire query sui modelli di ML remoti utilizzando l'estensione
google_ml_integration
.
Se vuoi eseguire query sui modelli Vertex AI, devi configurare l'account di servizio AlloyDB Omni con Vertex AI prima di installare AlloyDB Omni.
Per configurare AlloyDB Omni in modo da eseguire query sui modelli remoti, segui questi passaggi:
Crea un service account 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 più avanti in questa procedura.
Copia la chiave dell'account di servizio che hai creato in
KEY_PATH
. Il percorso della chiave deve essere un percorso sul tuo host accessibile e di proprietà dell'utente che eseguirà il tuo contenitore AlloyDB Omni.Abilita l'API Vertex AI nel tuo progetto Google Cloud .
gcloud services enable aiplatform.googleapis.com
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 account di servizio che hai creato nel passaggio 1. Ciò include il suffisso@PROJECT_ID.iam.gserviceaccount.com
completo. Ad esempiomy-service@my-project.iam.gserviceaccount.com
.
Configura AlloyDB AI per AlloyDB Omni
Per installare AlloyDB Omni e integrare AlloyDB AI, completa i seguenti passaggi come utente root:
Completa tutti i passaggi elencati in Configura AlloyDB Omni per eseguire query sui modelli basati su cloud.
Se esiste un container esistente con lo stesso nome, arrestalo 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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.
Avvia un nuovo container AlloyDB Omni montando la chiave nel container.
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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.NEW_PASSWORD
: password assegnata al nuovo utentepostgres
del contenitore dopo la sua creazione. Tieni presente cheNEW_PASSWORD
imposterà una nuova password solo quandoDATA_DIR
è una nuova posizione.DATA_DIR
: il percorso della directory host in cui sono archiviati i dati.KEY_PATH
: il percorso del file della chiave del account di servizio.HOST_PORT
: la porta TCP sulla macchina host a cui il container deve pubblicare la propria porta5432
. Per utilizzare anche la porta predefinita di PostgreSQL sulla macchina host, specifica5432
.
Rendi il file delle chiavi 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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.KEY_PATH
: il percorso host del file della chiave del 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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.
Riavvia il container 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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.
Connettiti utilizzando psql
in container
Per connetterti al server di database AlloyDB Omni utilizzando la propria
copia containerizzata di psql
, esegui questo 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
: il nome da assegnare al container AlloyDB Omni nel registro dei container della macchina host. Ad esempio,my-omni-1
.
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