Puoi connettere la tua istanza AlloyDB a Gemini Enterprise, consentendo l'accesso live ai tuoi dati.
Rispetto all'importazione da AlloyDB, la connessione presenta i seguenti vantaggi:
- Evita la necessità di importare, indicizzare e duplicare i dati.
- Massima aggiornamento dei dati.
- 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 le query 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 utente. Tutti gli utenti con accesso alla tua app Gemini Enterprise possono visualizzare gli stessi dati.
- La creazione di un datastore AlloyDB è supportata tramite l'API, non tramite la Google Cloud console.
Configurare 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 di:
Utilizzare
ORDER BYper evitare il non determinismo. Ad esempio:SELECT customers.id FROM customers ORDER BY customers.id;.
Configurare 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ò visualizzare gli stessi dati, senza un controllo dell'accesso specifico per l'utente.
Un account di servizio viene utilizzato per connettersi e interagire con l'istanza AlloyDB. Per abilitare questa funzionalità, devi configurare le impostazioni di Identity and Access Management (IAM) nel Google Cloud progetto in cui risiede 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 a questa entità:
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comSostituisci
PROJECT_NUMBERcon il Google Cloud numero di progetto in cui utilizzi Gemini Enterprise.Nell'istanza AlloyDB, crea un utente del database 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 dal 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 visualizzare.
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 della connessione AlloyDB utilizzando l'API, incluso
federatedSearchConfig.alloyDbConfig.L'esempio seguente:
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 località del datastore. Deve essere la stessa località dell'istanza 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.