Puedes conectar tu instancia de AlloyDB a Gemini Enterprise, lo que permite el acceso en vivo a tus datos.
En comparación con la importación desde AlloyDB, la conexión tiene las siguientes ventajas:
- Evita la necesidad de importar, indexar y duplicar datos.
- Máxima actualidad de los datos
- Sin costos adicionales de indexación y almacenamiento
- No es necesario aplanar los datos estructurados en registros uniformes
Considera las siguientes desventajas de la conexión en comparación con la importación:
- Este enfoque solo admite consultas estructuradas, no semánticas ni semánticas.
- La configuración es un poco más compleja en comparación con la importación de los datos.
Limitaciones
La conexión a AlloyDB tiene las siguientes limitaciones:
- Gemini Enterprise admite el control de acceso a nivel de objetos de base de datos, como tablas y columnas, pero no a nivel de usuario. Todos los usuarios con acceso a tu app de Gemini Enterprise pueden ver los mismos datos.
- La creación de un almacén de datos de AlloyDB se admite a través de la API, no de la Google Cloud consola.
Configura el lenguaje natural de AlloyDB AI
Este conector se basa en el lenguaje natural de AlloyDB AI en AlloyDB, que traduce las consultas de lenguaje natural en consultas de SQL.
Antes de conectarte, configura el lenguaje natural de AlloyDB AI en tu base de datos con los pasos que se indican en Genera consultas de SQL que respondan preguntas en lenguaje natural en la documentación de AlloyDB.
Ten en cuenta que agregar plantillas en el lenguaje natural de AlloyDB AI (un conjunto seleccionado de preguntas en lenguaje natural con las consultas de SQL correspondientes) es particularmente útil para la calidad. Cuando agregues plantillas, Google recomienda lo siguiente:
Usa
ORDER BYpara evitar el no determinismo. Por ejemplo:SELECT customers.id FROM customers ORDER BY customers.id;.
Configura la autenticación entre Gemini Enterprise y AlloyDB
Gemini Enterprise accede a AlloyDB con una cuenta de servicio dedicada y un usuario de base de datos en tu instancia de AlloyDB. Con este enfoque, cada usuario de Gemini Enterprise puede ver los mismos datos, sin control de acceso específico del usuario.
Se usa una cuenta de servicio para conectarse a tu instancia de AlloyDB y para interactuar con ella. Para habilitar esto, debes configurar los parámetros de configuración de Identity and Access Management (IAM) en el Google Cloud proyecto en el que reside tu instancia de base de datos.
Para configurar la autenticación, haz lo siguiente:
- Navega a la página de configuración de IAM del proyecto que aloja tu instancia de AlloyDB.
Otorga el rol Usuario de base de datos de Cloud AlloyDB a la siguiente entidad principal:
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.comReemplaza
PROJECT_NUMBERpor el Google Cloud número de proyecto en el que usas Gemini Enterprise.En tu instancia de AlloyDB, crea un usuario de la base de datos para que Gemini Enterprise lo use para ejecutar consultas de SQL.
Es muy importante que le otorgues a este usuario acceso de solo lectura y solo para las tablas, las vistas y las columnas a las que se debe acceder desde Gemini Enterprise. Esto garantiza lo siguiente:
Las consultas de Gemini Enterprise no pueden cambiar ni borrar tus datos. Gemini Enterprise está diseñado para solo leer datos de tu base de datos y no cambiar nada, pero Google no puede excluir por completo la posibilidad de que la IA genere consultas de escritura no deseadas.
Los usuarios de Gemini Enterprise solo pueden ver los datos que deberían ver.
Por ejemplo:
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;Cuando vincules Gemini Enterprise con AlloyDB, proporciona el nombre de usuario y la contraseña en los campos Usuario y Contraseña de
alloydbConnectionConfig.
Vincula Gemini Enterprise con AlloyDB
Para conectar tu instancia de AlloyDB, sigue estos pasos:
Crea un almacén de datos en Gemini Enterprise con los detalles de conexión de AlloyDB mediante la API, incluido
federatedSearchConfig.alloyDbConfig.En el ejemplo siguiente, se realizan estas acciones:
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"] }'Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que usas Gemini Enterprise.LOCATION: Es la ubicación de tu almacén de datos. Debe ser la misma ubicación que tu instancia de Gemini Enterprise.DATA_STORE_ID: Es el ID del almacén de datos que deseas crear. Este ID solo puede contener letras en minúscula, dígitos, guiones bajos y guiones.DATA_STORE_NAME: Es el nombre visible del almacén de datos que deseas crear.INSTANCE_PATH: Es la ruta de acceso de tu instancia de AlloyDB, con el formatoprojects/.../locations/.../clusters/.../instances/....DATABASE_NAME: Es el ID de la base de datos de AlloyDB.DATABASE_USER_NAME: Es el ID del usuario de la base de datos de AlloyDB.DATABASE_USER_PASSWORD: Es la contraseña del usuario de la base de datos de AlloyDB.NL_CONFIG_ID: Es el ID de la configuración de lenguaje natural de AlloyDB AI.
Adjunta tu almacén de datos a una app existente de Gemini Enterprise o crea una app nueva y selecciona tu conector con los pasos que se indican en Crea una app.
Para obtener una vista previa de cómo aparecerán los resultados de la búsqueda después de configurar tu app, consulta Obtén una vista previa de los resultados de la búsqueda.