Sincronizar desde Cloud Storage

Puede crear almacenes de datos a partir de tablas de Cloud Storage de dos formas:

  • Ingestión única: importa datos de una carpeta o un archivo de Cloud Storage a un almacén de datos. Los datos del almacén de datos no cambian a menos que actualices los datos manualmente.

  • Ingestión periódica: importa datos de una carpeta o un archivo de Cloud Storage y define una frecuencia de sincronización que determina la frecuencia con la que se actualiza el almacén de datos con los datos más recientes de esa ubicación de Cloud Storage.

En la siguiente tabla se comparan las dos formas de importar datos de Cloud Storage a almacenes de datos de Gemini Enterprise.

Ingestión única Ingestión periódica
Disponible de forma general. Vista previa pública.
Los datos deben actualizarse manualmente. Los datos se actualizan automáticamente cada uno, tres o cinco días. Los datos no se pueden actualizar manualmente.
Gemini Enterprise crea un único almacén de datos a partir de una carpeta o un archivo de Cloud Storage. Gemini Enterprise crea un conector de datos y asocia un almacén de datos (llamado almacén de datos de entidades) con él para el archivo o la carpeta especificados. Cada conector de datos de Cloud Storage puede tener un único almacén de datos de entidades.
Para combinar datos de varios archivos, carpetas y segmentos en un único almacén de datos, primero ingiere datos de una ubicación de Cloud Storage y, después, más datos de otra ubicación. Como no se admite la importación manual de datos, los datos de un almacén de datos de entidad solo pueden proceder de un archivo o una carpeta de Cloud Storage.
Se admite el control de acceso a fuentes de datos. Para obtener más información, consulta Control de acceso a fuentes de datos. No se admite el control de acceso a la fuente de datos. Los datos importados pueden contener controles de acceso, pero estos controles no se respetarán.
Puedes crear un almacén de datos con la consola o la API.Google Cloud Debes usar la consola para crear conectores de datos y sus almacenes de datos de entidades.
Cumple los requisitos de CMEK. Cumple los requisitos de CMEK.

Importar una vez desde Cloud Storage

Para ingerir datos de Cloud Storage, sigue estos pasos para crear un almacén de datos e ingerir datos mediante la Google Cloud consola o la API.

Antes de importar los datos, consulta el artículo Preparar datos para la ingesta.

Consola

Para usar la consola y extraer datos de un segmento de Cloud Storage, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. Vaya a la página Almacenes de datos.

  3. Haz clic en Crear almacén de datos.

  4. En la página Seleccionar una fuente de datos, selecciona Cloud Storage.

  5. En la sección Selecciona la carpeta o el archivo que quieras importar, elige Carpeta o Archivo.

  6. Haz clic en Explorar, elige los datos que hayas preparado para la ingesta y, a continuación, haz clic en Seleccionar. También puedes introducir la ubicación directamente en el campo gs://.

  7. Selecciona el tipo de datos que vas a importar.

  8. Haz clic en Continuar.

  9. Si vas a importar datos estructurados una sola vez, sigue estos pasos:

    1. Asigna campos a propiedades clave.

    2. Si faltan campos importantes en el esquema, usa Añadir nuevo campo para añadirlos.

      Para obtener más información, consulta Información sobre la detección automática y la edición.

    3. Haz clic en Continuar.

  10. Elige una región para tu almacén de datos.

  11. Escribe el nombre del almacén de datos.

  12. Opcional: Si has seleccionado documentos no estructurados, puedes seleccionar opciones de análisis y fragmentación para tus documentos. Para comparar analizadores, consulta Analizar documentos. Para obtener información sobre la fragmentación, consulta Fragmentar documentos para RAG.

    El analizador de OCR y el analizador de diseño pueden generar costes adicionales.

    Para seleccionar un analizador, despliega Opciones de procesamiento de documentos y especifica las opciones del analizador que quieras usar.

  13. Haz clic en Crear.

  14. Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del almacén de datos para ver los detalles en la página Datos. Cuando el estado de la columna de la pestaña Actividad cambie de En curso a Importación completada, la ingesta habrá finalizado.

    En función del tamaño de los datos, la ingestión puede tardar varios minutos o varias horas.

REST

Para crear un almacén de datos e ingerir datos de Cloud Storage mediante la línea de comandos, sigue estos pasos.

  1. Crea un almacén de datos.

    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/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \
    -d '{
      "displayName": "DATA_STORE_DISPLAY_NAME",
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
      "contentConfig": "CONTENT_REQUIRED",
    }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID del almacén de datos que quieres crear. Este ID solo puede contener letras minúsculas, dígitos, guiones bajos y guiones.
    • DATA_STORE_DISPLAY_NAME: el nombre visible del almacén de datos que quieres crear.

    Opcional: Para configurar el análisis de documentos o activar la fragmentación de documentos para RAG, especifica el objeto documentProcessingConfig e inclúyelo en tu solicitud de creación de almacén de datos. Te recomendamos que configures un analizador OCR para PDFs si vas a ingerir PDFs escaneados. Para saber cómo configurar las opciones de análisis o de división en fragmentos, consulta el artículo Analizar y dividir en fragmentos documentos.

  2. Importa datos de Cloud Storage.

      curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
      -d '{
        "gcsSource": {
          "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"],
          "dataSchema": "DATA_SCHEMA",
        },
        "reconciliationMode": "RECONCILIATION_MODE",
        "autoGenerateIds": "AUTO_GENERATE_IDS",
        "idField": "ID_FIELD",
        "errorConfig": {
          "gcsPrefix": "ERROR_DIRECTORY"
        }
      }'
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto.
    • DATA_STORE_ID: el ID del almacén de datos.
    • INPUT_FILE_PATTERN: un patrón de archivo de Cloud Storage que contiene tus documentos.

      En el caso de los datos estructurados o de los datos no estructurados con metadatos, un ejemplo de patrón de archivo de entrada es gs://<your-gcs-bucket>/directory/object.json y un ejemplo de patrón que coincide con uno o varios archivos es gs://<your-gcs-bucket>/directory/*.json.

      En el caso de los documentos sin estructurar, un ejemplo es gs://<your-gcs-bucket>/directory/*.pdf. Cada archivo que coincida con el patrón se convertirá en un documento.

      Si <your-gcs-bucket> no está en PROJECT_ID, debes dar a la cuenta de servicio service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com permisos de "lector de objetos de almacenamiento" para el segmento de Cloud Storage. Por ejemplo, si vas a importar un segmento de Cloud Storage del proyecto de origen "123" al proyecto de destino "456", otorga permisos service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com al segmento de Cloud Storage del proyecto "123".

    • DATA_SCHEMA: opcional. Los valores son document, custom, csv y content. El valor predeterminado es document.

      • document: sube datos no estructurados con metadatos de documentos no estructurados. Cada línea del archivo debe seguir uno de los siguientes formatos. Puedes definir el ID de cada documento:

        • { "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
        • { "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
      • custom: sube archivos JSON para documentos estructurados. Los datos se organizan según un esquema. Puedes especificar el esquema; de lo contrario, se detectará automáticamente. Puedes poner la cadena JSON del documento en un formato coherente directamente en cada línea y Gemini Enterprise generará automáticamente los IDs de cada documento importado.

      • content: sube documentos no estructurados (PDF, HTML, DOC, TXT y PPTX). El ID de cada documento se genera automáticamente como los primeros 128 bits de SHA256(GCS_URI) codificados como una cadena hexadecimal. Puedes especificar varios patrones de archivo de entrada siempre que los archivos coincidentes no superen el límite de 100.000 archivos.

      • csv: incluya una fila de encabezado en el archivo CSV, de forma que cada encabezado se asigne a un campo de documento. Especifica la ruta al archivo CSV en el campo inputUris.

    • ERROR_DIRECTORY: opcional. Un directorio de Cloud Storage con información sobre errores de la importación, por ejemplo, gs://<your-gcs-bucket>/directory/import_errors. Google recomienda dejar este campo en blanco para que Gemini Enterprise cree automáticamente un directorio temporal.

    • RECONCILIATION_MODE: opcional. Los valores son FULL y INCREMENTAL. El valor predeterminado es INCREMENTAL. Si especificas INCREMENTAL , se realizará una actualización incremental de los datos de Cloud Storage en tu almacén de datos. De esta forma, se realiza una operación upsert, que añade documentos nuevos y sustituye los documentos que ya existen por documentos actualizados con el mismo ID. Si especificas FULL, se volverán a basar por completo los documentos de tu almacén de datos. Es decir, los documentos nuevos y actualizados se añaden a tu almacén de datos, y los documentos que no están en Cloud Storage se eliminan de él. El modo FULL es útil si quieres eliminar automáticamente los documentos que ya no necesitas.

    • AUTO_GENERATE_IDS: opcional. Especifica si se deben generar automáticamente los IDs de los documentos. Si se define como true, los IDs de documento se generan a partir de un hash de la carga útil. Ten en cuenta que es posible que los IDs de documento generados no se mantengan coherentes en varias importaciones. Si generas automáticamente IDs en varias importaciones, Google te recomienda que definas reconciliationMode como FULL para mantener IDs de documento coherentes.

      Especifica autoGenerateIds solo cuando gcsSource.dataSchema tenga el valor custom o csv. De lo contrario, se devuelve un error INVALID_ARGUMENT. Si no especifica autoGenerateIds o lo define como false, debe especificar idField. De lo contrario, no se podrán importar los documentos.

    • ID_FIELD: opcional. Especifica qué campos son los IDs de documento. En el caso de los documentos de origen de Cloud Storage, idField especifica el nombre de los campos JSON que son IDs de documento. Por ejemplo, si {"my_id":"some_uuid"} es el campo de ID de documento de uno de sus documentos, especifique "idField":"my_id". Identifica todos los campos JSON con el nombre "my_id" como IDs de documento.

      Especifique este campo solo cuando: (1) gcsSource.dataSchema tenga el valor custom o csv y (2) auto_generate_ids tenga el valor false o no se haya especificado. De lo contrario, se devuelve un error INVALID_ARGUMENT.

      Ten en cuenta que el nombre del campo JSON especificado por id_field debe ser de tipo cadena, tener entre 1 y 63 caracteres y cumplir el estándar RFC-1034. De lo contrario, no se podrán importar los documentos.

Conectarse a Cloud Storage con sincronización periódica

Antes de importar los datos, consulta el artículo Preparar datos para la ingesta.

En el siguiente procedimiento se describe cómo crear un conector de datos que asocie una ubicación de Cloud Storage con un conector de datos de Gemini Enterprise y cómo especificar una carpeta o un archivo de esa ubicación para el almacén de datos que quieras crear. Los almacenes de datos que son elementos secundarios de conectores de datos se denominan almacenes de datos de entidades.

Los datos se sincronizan periódicamente con el almacén de datos de la entidad. Puedes especificar que la sincronización se realice a diario, cada tres días o cada cinco días.

Consola

  1. En la Google Cloud consola, ve a la página Gemini Enterprise.

    Gemini Enterprise

  2. Vaya a la página Almacenes de datos.

  3. Haz clic en Crear almacén de datos.

  4. En la página Fuente, selecciona Cloud Storage.

  5. Selecciona el tipo de datos que vas a importar.

  6. Haz clic en Periódica.

  7. Seleccione la frecuencia de sincronización, es decir, la frecuencia con la que quiere que el conector de Gemini Enterprise se sincronice con la ubicación de Cloud Storage. Puedes cambiar la frecuencia más adelante.

  8. En la sección Selecciona la carpeta o el archivo que quieras importar, elige Carpeta o Archivo.

  9. Haz clic en Explorar, elige los datos que hayas preparado para la ingesta y, a continuación, haz clic en Seleccionar. También puedes introducir la ubicación directamente en el campo gs://.

  10. Haz clic en Continuar.

  11. Elige una región para tu conector de datos.

  12. Escriba el nombre del conector de datos.

  13. Opcional: Si has seleccionado documentos no estructurados, puedes seleccionar opciones de análisis y fragmentación para tus documentos. Para comparar analizadores, consulta Analizar documentos. Para obtener información sobre la fragmentación, consulta Fragmentar documentos para RAG.

    El analizador de OCR y el analizador de diseño pueden generar costes adicionales.

    Para seleccionar un analizador, despliega Opciones de procesamiento de documentos y especifica las opciones del analizador que quieras usar.

  14. Haz clic en Crear.

    Ya has creado un conector de datos que sincronizará periódicamente los datos con la ubicación de Cloud Storage. También has creado un almacén de datos de entidades, llamado gcs_store.

  15. Para comprobar el estado de la ingestión, vaya a la página Almacenes de datos y haga clic en el nombre del conector de datos para ver los detalles en su página Datos.

    Pestaña Actividad de ingestión de datos. Cuando el estado de la columna de la pestaña Actividad de ingestión de datos cambie de En curso a Completada, la primera ingestión se habrá completado.

    En función del tamaño de los datos, la ingestión puede tardar desde varios minutos hasta varias horas.

Después de configurar la fuente de datos e importar datos por primera vez, los datos se sincronizan desde esa fuente con la frecuencia que elijas durante la configuración. Aproximadamente una hora después de crear el conector de datos, se produce la primera sincronización. La siguiente sincronización se producirá aproximadamente 24, 72 o 120 horas después.

Pasos siguientes