Puoi connettere la tua istanza AlloyDB a Gemini Enterprise, consentendo l'accesso in tempo reale ai tuoi dati.
Rispetto all'importazione da AlloyDB, la connessione presenta i seguenti vantaggi:
- Evita la necessità di importare, indicizzare e duplicare i dati.
- Aggiornamento dei dati massimo.
- Nessun costo aggiuntivo per l'indicizzazione e l'archiviazione.
- Non è necessario appiattire i dati strutturati in record uniformi.
Tieni presente i seguenti svantaggi della connessione rispetto all'importazione:
- Questo approccio supporta solo le query strutturate, non quelle semantiche o semi-semantiche.
- La configurazione è leggermente più complessa rispetto all'importazione dei dati.
Limitazioni
La connessione ad AlloyDB presenta le seguenti limitazioni:
- Gemini Enterprise supporta il controllo dell'accesso a livello di oggetti di database, come tabelle e colonne, ma non a livello di singolo utente. Tutti gli utenti con accesso all'app Gemini Enterprise possono visualizzare gli stessi dati.
- La creazione di un datastore AlloyDB è supportata tramite l'API, non tramite la console Google Cloud .
Prima di iniziare
La connessione ad AlloyDB è in anteprima con una lista consentita. Per utilizzare questa funzionalità, registrati utilizzando il seguente modulo: Attivazione/disattivazione dell'utilizzo di Gemini Enterprise e della connessione ai dati di AlloyDB
Dopo la registrazione, attendi di ricevere la conferma dell'attivazione prima di seguire le istruzioni riportate in questa pagina.
Configura il linguaggio naturale di AlloyDB AI
Questo connettore si basa sul linguaggio naturale di AlloyDB AI in AlloyDB, che traduce le query in linguaggio naturale in query SQL.
Prima di connetterti, configura il linguaggio naturale di AlloyDB AI nel tuo database seguendo i passaggi descritti in Generare query SQL che rispondono a domande in linguaggio naturale nella documentazione di AlloyDB.
Tieni presente che l'aggiunta di modelli nel linguaggio naturale di AlloyDB AI (un insieme curato di domande in linguaggio naturale con le query SQL corrispondenti) è particolarmente utile per la qualità. Quando aggiungi modelli, Google consiglia quanto segue:
Utilizza
ORDER BY
per evitare il non determinismo. Ad esempio:SELECT customers.id FROM customers ORDER BY customers.id;
.
Configura l'autenticazione tra Gemini Enterprise e AlloyDB
Gemini Enterprise accede ad AlloyDB utilizzando un account di servizio dedicato e un utente del database nell'istanza AlloyDB. Con questo approccio, ogni utente di Gemini Enterprise può vedere gli stessi dati, senza un controllo dell'accesso specifico per l'utente.
Un account di servizio viene utilizzato per connettersi e interagire con la tua istanza AlloyDB. Per attivare questa funzionalità, devi configurare le impostazioni di Identity and Access Management (IAM) nel progetto Google Cloud in cui si trova l'istanza del database.
Per configurare l'autenticazione:
- Vai alla pagina di configurazione IAM del progetto che ospita l'istanza AlloyDB.
Concedi il ruolo Cloud AlloyDB Database User al seguente principal:
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con il numero di progetto Google Cloud in cui utilizzi Gemini Enterprise.Nella tua istanza AlloyDB, crea un utente DB da utilizzare da Gemini Enterprise per eseguire query SQL.
È molto importante concedere a questo utente l'accesso di sola lettura e solo per tabelle, viste e colonne che devono essere accessibili da Gemini Enterprise. In questo modo:
Le query di Gemini Enterprise non possono modificare o eliminare i tuoi dati. Gemini Enterprise è progettato per leggere solo i dati del tuo database e non modificare nulla, ma Google non può escludere completamente la possibilità che l'AI possa generare query di scrittura non intenzionali.
Gli utenti di Gemini Enterprise possono visualizzare solo i dati che devono vedere.
Ad esempio:
CREATE ROLE USER_NAME WITH LOGIN PASSWORD 'PASSWORD'; GRANT SELECT ON TABLE "public"."TABLE_NAME_1" TO USER_NAME; GRANT SELECT ON TABLE "public"."TABLE_NAME_2" TO USER_NAME;
Quando colleghi Gemini Enterprise ad AlloyDB, fornisci il nome utente e la password nei campi Utente e Password di
alloydbConnectionConfig
.
Collegare Gemini Enterprise ad AlloyDB
Per connettere l'istanza AlloyDB:
Crea un datastore in Gemini Enterprise con i dettagli di connessione AlloyDB utilizzando l'API, incluso
federatedSearchConfig.alloyDbConfig
.Il seguente esempio:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" -d '{ "displayName": "DATA_STORE_NAME", "federatedSearchConfig": { "alloyDbConfig": { "alloydbConnectionConfig": { "instance": "INSTANCE_PATH", "database": "DATABASE_NAME", "user": "DATABASE_USER_NAME", "password": "DATABASE_USER_PASSWORD", "authMode": "AUTH_MODE_SERVICE_ACCOUNT" }, "alloydb_ai_nl_config": { "nlConfigId": "NL_CONFIG_ID" } } }, "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto in cui utilizzi Gemini Enterprise.LOCATION
: la posizione del datastore. Deve corrispondere alla posizione dell'istanza di Gemini Enterprise.DATA_STORE_ID
: l'ID del datastore che vuoi creare. Questo ID può contenere solo lettere minuscole, cifre, trattini bassi e trattini.DATA_STORE_NAME
: il nome visualizzato del datastore che vuoi creare.INSTANCE_PATH
: il percorso dell'istanza AlloyDB, nel formatoprojects/.../locations/.../clusters/.../instances/...
.DATABASE_NAME
: l'ID del database AlloyDB.DATABASE_USER_NAME
: l'ID dell'utente del database AlloyDB.DATABASE_USER_PASSWORD
: la password dell'utente del database AlloyDB.NL_CONFIG_ID
: l'ID della configurazione del linguaggio naturale di AlloyDB AI.
Collega il datastore a un'app Gemini Enterprise esistente o crea una nuova app e seleziona il connettore seguendo i passaggi descritti in Crea un'app.
Per visualizzare l'anteprima dell'aspetto dei risultati di ricerca dopo la configurazione dell'app, consulta Visualizzare l'anteprima dei risultati di ricerca.