Analiza y divide documentos

En esta página, se describe cómo usar Vertex AI Search para analizar y dividir tus documentos en fragmentos.

Puedes configurar el análisis o la división en fragmentos para hacer lo siguiente:

  • Especifica cómo Vertex AI Search analiza el contenido. Puedes especificar cómo analizar el contenido no estructurado cuando lo subas a Vertex AI Search. Vertex AI Search proporciona un analizador digital, un analizador de OCR para PDFs y un analizador de diseño. También puedes traer tus propios documentos analizados. Se recomienda el analizador de diseño cuando tienes contenido enriquecido y elementos estructurales, como secciones, párrafos, tablas, imágenes y listas, que se extraerán de los documentos para la búsqueda y la generación de respuestas.

    Consulta Mejora la detección de contenido con el análisis.

  • Usa Vertex AI Search para la generación mejorada por recuperación (RAG). Mejora el resultado de los LLM con datos relevantes que subiste a tu app de Vertex AI Search. Para ello, activarás la división de documentos en fragmentos, que indexa tus datos como fragmentos para mejorar la relevancia y disminuir la carga computacional de los LLM. También activarás el analizador de diseño, que detecta elementos del documento, como encabezados y listas, para mejorar la forma en que se dividen los documentos en fragmentos.

    Para obtener información sobre la fragmentación para RAG y cómo devolver fragmentos en las solicitudes de búsqueda, consulta Fragmenta documentos para RAG.

Analiza documentos

Puedes controlar el análisis del contenido de las siguientes maneras:

  • Especifica el tipo de analizador. Puedes especificar el tipo de análisis que se aplicará según el tipo de archivo:

    • Analizador digital. El analizador digital está activado de forma predeterminada para todos los tipos de archivos, a menos que se especifique un tipo de analizador diferente. El analizador digital procesa los documentos ingeridos si no se especifica ningún otro analizador predeterminado para el almacén de datos o si el analizador especificado no admite el tipo de archivo de un documento ingerido.
    • Análisis de OCR para archivos PDF Si planeas subir archivos PDF escaneados o archivos PDF con texto dentro de imágenes, puedes activar el analizador de OCR para mejorar la indexación de los archivos PDF. Consulta la sección Analizador de OCR para archivos PDF de este documento.
    • Analizador de diseño. Activa el analizador de diseño para archivos HTML, PDF o DOCX si planeas usar Vertex AI Search para RAG. Consulta Fragmentación de documentos para RAG para obtener información sobre este analizador y cómo activarlo.
  • Usa tu propio documento analizado. (Vista previa con lista de entidades permitidas) Si ya analizaste tus documentos no estructurados, puedes importar ese contenido preanalizado a Vertex AI Search. Consulta Cómo proporcionar tu propio documento analizado.

Comparación de la disponibilidad del analizador

En la siguiente tabla, se indica la disponibilidad de cada analizador según los tipos de archivos de documentos y se muestran los elementos que cada analizador puede detectar y analizar.

Tipo de archivo Analizador digital Analizador de OCR Analizador de diseño
HTML Detecta elementos de párrafo No aplicable Detecta elementos de párrafo, tabla, imagen, lista, título y encabezado
PDF Detecta elementos de párrafo (texto digital) Detecta elementos de párrafo Detecta elementos de párrafo, tabla, imagen, título y encabezado
DOCX (vista previa) Detecta elementos de párrafo No aplicable Detecta elementos de párrafo, tabla, imagen, lista, título y encabezado
PPTX (vista previa) Detecta elementos de párrafo No aplicable Detecta elementos de párrafo, tabla, imagen, lista, título y encabezado
TXT Detecta elementos de párrafo No aplicable No aplicable
XLSX (vista previa) Detecta elementos de párrafo No aplicable Detecta elementos de párrafo, tabla, título y encabezado

Analizador digital

El analizador digital extrae texto legible por máquina de los documentos. Detecta bloques de texto, pero no elementos del documento, como tablas, listas y encabezados.

El analizador digital se usa de forma predeterminada si no especificas un analizador diferente como predeterminado durante la creación del almacén de datos o si un analizador especificado no admite un tipo de archivo que se está subiendo.

Analizador de OCR para archivos PDF

Si tienes archivos PDF en los que no se puede realizar búsquedas (archivos PDF escaneados o archivos PDF con texto dentro de imágenes, como infografías), Google recomienda activar el procesamiento de reconocimiento óptico de caracteres (OCR) durante la creación del almacén de datos. Esto permite que Vertex AI Search extraiga elementos de párrafo.

Si tienes archivos PDF con capacidad de búsqueda o en otros formatos digitales que se componen principalmente de texto legible por máquina, por lo general, no necesitas usar el analizador de OCR. Sin embargo, si tienes archivos PDF que contienen texto no apto para búsquedas (como texto escaneado o infografías) y texto legible por máquina, puedes establecer el campo useNativeText como verdadero cuando especifiques el analizador de OCR. En este caso, el texto legible por máquinas se combina con los resultados del análisis de OCR para mejorar la calidad de la extracción de texto.

Las funciones de procesamiento de OCR están disponibles para las apps de búsqueda personalizadas con almacenes de datos no estructurados.

El procesador de OCR puede analizar las primeras 500 páginas de un archivo PDF. No se procesan las páginas que superan el límite de 500.

Analizador de diseño

El análisis de diseño permite que Vertex AI Search detecte diseños para PDF y HTML. La compatibilidad con archivos DOCX está en versión preliminar. Luego, Vertex AI Search puede identificar elementos de contenido, como bloques de texto, tablas, listas y elementos estructurales, como títulos y encabezados, y usarlos para definir la organización y la jerarquía de un documento.

Puedes activar el análisis de diseño para todos los tipos de archivos o especificar para qué tipos de archivos quieres activarlo. El analizador de diseño detecta elementos de contenido, como párrafos, tablas, listas y elementos estructurales, como títulos, encabezados, notas al pie y encabezados.

El analizador de diseño solo está disponible cuando se usa la fragmentación de documentos para la RAG. Cuando la fragmentación de documentos está activada, Vertex AI Search divide los documentos en fragmentos durante la transferencia y puede devolverlos como fragmentos. La detección del diseño del documento permite la fragmentación basada en el contenido y mejora la búsqueda y la generación de respuestas relacionadas con los elementos del documento. Para obtener más información sobre cómo dividir documentos en fragmentos para la RAG, consulta Divide documentos en fragmentos para la RAG.

Anotación de imágenes (función de vista previa)

Si la anotación de imágenes está habilitada, cuando se detecta una imagen en un documento fuente, se asignan una descripción (anotación) de la imagen y la imagen en sí a un fragmento. La anotación determina si el fragmento se debe devolver en un resultado de la búsqueda. Si se genera una respuesta, la anotación puede ser una fuente para la respuesta.

El analizador de diseño puede detectar los siguientes tipos de imágenes: BMP, GIF, JPEG, PNG y TIFF.

Anotación de la tabla

Si la anotación de tablas está habilitada, cuando se detecta una tabla en un documento fuente, se asignan una descripción (anotación) de la tabla y la tabla en sí a un fragmento. La anotación determina si el fragmento se debe devolver en un resultado de la búsqueda. Si se genera una respuesta, la anotación puede ser una fuente para la respuesta.

Excluye el contenido HTML

Cuando usas el analizador de diseño para documentos HTML, puedes excluir partes específicas del contenido HTML del procesamiento. Para mejorar la calidad de los datos de las aplicaciones de búsqueda y las aplicaciones de RAG, puedes excluir el texto de relleno o las secciones, como los menús de navegación, los encabezados, los pies de página o las barras laterales.

layoutParsingConfig proporciona los siguientes campos para este fin:

  • excludeHtmlElements: Es la lista de etiquetas HTML que se excluirán. Se excluye el contenido dentro de estas etiquetas.
  • excludeHtmlClasses: Lista de atributos de clase HTML que se excluirán. Se excluyen los elementos HTML que contienen estos atributos de clase, junto con su contenido.
  • excludeHtmlIds: Es la lista de atributos de ID de elementos HTML que se excluirán. Se excluyen los elementos HTML con estos atributos de ID, junto con su contenido.

Cómo especificar un analizador predeterminado

Si incluyes el objeto documentProcessingConfig cuando creas un almacén de datos, puedes especificar un analizador predeterminado para ese almacén de datos. Si no incluyes documentProcessingConfig.defaultParsingConfig, se usa el analizador digital. El analizador digital también se usa si el analizador especificado no está disponible para un tipo de archivo.

REST

Para especificar un analizador predeterminado, haz lo siguiente:

  1. Cuando crees un almacén de datos de búsqueda con la API, incluye documentProcessingConfig.defaultParsingConfig en la solicitud de creación del almacén de datos. Puedes especificar el analizador de OCR, el analizador de diseño o el analizador digital:

    • Para especificar el analizador de OCR para archivos PDF, haz lo siguiente:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "ocrParsingConfig": {
            "useNativeText": "NATIVE_TEXT_BOOLEAN"
          }
        }
      }
      
      • NATIVE_TEXT_BOOLEAN es opcional. Solo configúralo si ingieres archivos PDF. Si se configura como true, se activa el procesamiento de texto legible por máquina para el analizador de OCR. El valor predeterminado es false.
    • Para especificar el analizador de diseño, haz lo siguiente:

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "layoutParsingConfig": {}
        }
      }
      
    • Para especificar el analizador digital, haz lo siguiente:

       "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
       }
      

Console

Cuando creas un almacén de datos de búsqueda a través de la consola, puedes especificar el analizador predeterminado.

Ejemplo

En el siguiente ejemplo, se especifica durante la creación del almacén de datos que el analizador de OCR será el analizador predeterminado. Dado que el analizador de OCR solo se aplica a los archivos PDF, todos los archivos PDF que se transfieran se procesarán con el analizador de OCR, y los demás tipos de archivos se procesarán con el analizador digital.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "defaultParsingConfig": {
      "ocrParsingConfig": {
        "useNativeText": "false"
      }
    }
  }
}'

Cómo especificar anulaciones del analizador para tipos de archivos

Puedes especificar que un tipo de archivo en particular (PDF, HTML o DOCX) se analice con un analizador diferente del analizador predeterminado. Para ello, incluye el campo documentProcessingConfig en tu solicitud de creación del almacén de datos y especifica el analizador sintáctico de anulación. Si no especificas un analizador predeterminado, se usará el analizador digital.

REST

Para especificar una anulación del analizador sintáctico específica para un tipo de archivo, haz lo siguiente:

  1. Cuando crees un almacén de datos de búsqueda con la API, incluye documentProcessingConfig.defaultParsingConfig en la solicitud de creación del almacén de datos.

    Puedes especificar un analizador para pdf, html o docx:

    "documentProcessingConfig": {
      "parsingConfigOverrides": {
        "FILE_TYPE": { PARSING_CONFIG },
      }
     }
    

    Reemplaza lo siguiente:

    • FILE_TYPE: Los valores aceptados son pdf, html y docx.
    • PARSING_CONFIG: Especifica la configuración del analizador que deseas aplicar al tipo de archivo. Puedes especificar el analizador de OCR, el analizador de diseño o el analizador digital:

      • Para especificar el analizador de OCR para archivos PDF, haz lo siguiente:

        "ocrParsingConfig": {
          "useNativeText": "NATIVE_TEXT_BOOLEAN"
        }
        
        • NATIVE_TEXT_BOOLEAN: Opcional Solo se establece si ingieres archivos PDF. Si se configura como true, se activa el procesamiento de texto legible por máquina para el analizador de OCR. El valor predeterminado es false.
      • Para especificar el analizador de diseño, haz lo siguiente:

        "layoutParsingConfig": {}
        
      • Para especificar el analizador digital, haz lo siguiente:

        "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
        }
        

Console

Cuando crees un almacén de datos de búsqueda a través de la consola, podrás especificar anulaciones del analizador para tipos de archivos específicos.

Ejemplo

En el siguiente ejemplo, se especifica durante la creación del almacén de datos que los archivos PDF deben procesarse con el analizador de OCR y que los archivos HTML deben procesarse con el analizador de diseño. En este caso, el analizador digital procesaría todos los archivos que no sean PDF ni HTML.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "parsingConfigOverrides": {
      "pdf": {
        "ocrParsingConfig": {
            "useNativeText": "false"
          },
      },
      "html": {
         "layoutParsingConfig": {}
      }
    }
  }
}'

Edita el análisis de documentos para los almacenes de datos existentes

Si ya tienes un almacén de datos, puedes cambiar el analizador predeterminado y agregar excepciones de formato de archivo. Sin embargo, la configuración actualizada del analizador solo se aplica a los documentos nuevos que se importan al almacén de datos. Los documentos que ya están en el almacén de datos no se vuelven a analizar con la nueva configuración.

Para cambiar la configuración del análisis de documentos de un almacén de datos, haz lo siguiente:

  1. En la consola de Google Cloud , ve a la página AI Applications.

    Aplicaciones basadas en IA

  2. En el menú de navegación, haz clic en Almacenes de datos.

  3. En la columna Nombre, haz clic en el almacén de datos que deseas editar.

  4. En la pestaña Configuración de procesamiento, edita la configuración de Análisis de documentos.

    No se puede cambiar la configuración de fragmentación de documentos. Si el almacén de datos no tiene habilitada la fragmentación de documentos, no podrás elegir el analizador de diseño.

  5. Haz clic en Enviar.

Configura el analizador de diseño para excluir el contenido HTML

Puedes configurar el analizador de diseño para excluir contenido HTML especificando excludeHtmlElements, excludeHtmlClasses o excludeHtmlIds en documentProcessingConfig.defaultParsingConfig.layoutParsingConfig.

REST

Para evitar que el analizador de diseño procese cierto contenido HTML, sigue estos pasos:

  1. Cuando crees un almacén de datos de búsqueda con la API, incluye documentProcessingConfig.defaultParsingConfig.layoutParsingConfig en la solicitud de creación del almacén de datos.

  2. Para excluir tipos de etiquetas HTML específicos, usa lo siguiente:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlElements": ["HTML_TAG_1","HTML_TAG_2","HTML_TAG_N"]
       }
      }
     }
    

    Reemplaza las variables HTML_TAG por nombres de etiquetas, por ejemplo, nav y footer.

  3. Para excluir atributos de clase de elementos HTML específicos, usa lo siguiente:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlClasses": ["HTML_CLASS_1","HTML_CLASS_2","HTML_CLASS_N"]
       }
      }
     }
    

    Reemplaza las variables HTML_CLASS por atributos de clase, por ejemplo, overlay y screenreader.

  4. Para excluir atributos de ID de elementos HTML específicos, usa lo siguiente:

    "documentProcessingConfig": {
      "defaultParsingConfig": {
       "layoutParsingConfig": {
        "excludeHtmlIds": ["HTML_ID_1","HTML_ID_2","HTML_ID_N"]
       }
      }
     }
    

    Reemplaza las variables HTML_ID por atributos de ID, por ejemplo, cookie-banner.

Ejemplo

En este ejemplo, se especifica que, cuando el analizador de diseño procesa archivos HTML, omite lo siguiente:

  • Etiquetas de elementos HTML, header, footer, nav y aside

  • Atributos de clase de elementos HTML de tipo overlays y screenreader

  • Cualquier elemento con el ID de atributo cookie-banner

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "defaultParsingConfig": {
      "layoutParsingConfig": {
       "excludeHtmlElements": ["header", "footer", "nav", "aside"],
       "excludeHtmlClasses": ["overlays", "screenreader"],
       "excludeHtmlIds": ["cookie-banner"]
      }
    }
  }
}'

Obtén documentos analizados en formato JSON

Puedes obtener un documento analizado en formato JSON llamando al método getProcessedDocument y especificando PARSED_DOCUMENT como el tipo de documento procesado. Obtener documentos analizados en formato JSON puede ser útil si necesitas subir el documento analizado a otro lugar o si decides volver a importar documentos analizados a las aplicaciones basadas en IA con la función bring your own parsed document.

REST

Para obtener documentos analizados en formato JSON, sigue este paso:

  1. Llama al método getProcessedDocument de la siguiente forma:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto
    • DATA_STORE_ID: Es el ID de tu almacén de datos.
    • DOCUMENT_ID: ID del documento que se obtendrá.

Aporta tu propio documento analizado

Puedes importar documentos no estructurados y analizados previamente a los almacenes de datos de Vertex AI Search. Por ejemplo, en lugar de importar un documento PDF sin procesar, puedes analizar el PDF por tu cuenta y, luego, importar el resultado del análisis. Esto te permite importar tus documentos de forma estructurada, lo que garantiza que la búsqueda y la generación de respuestas tengan información sobre el diseño y los elementos del documento.

Un documento no estructurado analizado se representa con JSON que describe el documento no estructurado con una secuencia de bloques de texto, tablas y listas. Importas archivos JSON con los datos de tu documento no estructurado analizado de la misma manera en que importas otros tipos de documentos no estructurados, como los PDF. Cuando esta función está activada, cada vez que se sube un archivo JSON y se identifica con un tipo de MIME application/json o una extensión .JSON, se trata como un documento analizado.

Para activar esta función y obtener información sobre cómo usarla, comunícate con tu equipo de cuentas de Google.

Fragmenta documentos para la RAG

De forma predeterminada, Vertex AI Search está optimizado para la recuperación de documentos, en la que tu app de búsqueda devuelve un documento, como un PDF o una página web, con cada resultado de la búsqueda.

Las funciones de fragmentación de documentos están disponibles para las apps de búsqueda personalizadas con almacenes de datos no estructurados.

En cambio, Vertex AI Search se puede optimizar para RAG, en el que tu app de búsqueda se usa principalmente para aumentar el resultado del LLM con tus datos personalizados. Cuando la fragmentación de documentos está activada, Vertex AI Search divide tus documentos en fragmentos. En los resultados de la búsqueda, tu app de búsqueda puede devolver fragmentos de datos relevantes en lugar de documentos completos. El uso de datos fragmentados para la RAG aumenta la relevancia de las respuestas del LLM y reduce la carga computacional de los LLMs.

Para usar Vertex AI Search para RAG, haz lo siguiente:

  1. Activa la fragmentación de documentos cuando crees tu almacén de datos.

    También puedes subir tus propios fragmentos (versión preliminar con lista de entidades permitidas) si ya fragmentaste tus documentos.

  2. Recupera y visualiza fragmentos de las siguientes maneras:

  3. Devuelve fragmentos en las solicitudes de búsqueda.

Limitaciones

Se aplican las siguientes limitaciones a la fragmentación:

  • La fragmentación de documentos no se puede activar ni desactivar después de crear el almacén de datos.
  • Puedes realizar solicitudes de búsqueda de documentos en lugar de fragmentos desde un almacén de datos con la fragmentación de documentos activada. Sin embargo, los almacenes de datos con la fragmentación de documentos activada no están optimizados para devolver documentos. Los documentos se devuelven agregando fragmentos en documentos.
  • Cuando la división en fragmentos de documentos está activada, los resúmenes de búsqueda y la búsqueda con preguntas de seguimiento se admiten en la versión preliminar pública, pero no en la DG.

Opciones de fragmentación de documentos

En esta sección, se describen las opciones que especificas para activar la división de documentos en fragmentos.

Durante la creación del almacén de datos, activa las siguientes opciones para que Vertex AI Search pueda indexar tus documentos como fragmentos.

  • Fragmentación de documentos que tiene en cuenta el diseño. Para activar esta opción, incluye el campo documentProcessingConfig en tu solicitud de creación del almacén de datos y especifica ChunkingConfig.LayoutBasedChunkingConfig.

    Cuando se activa la división en fragmentos de documentos que tiene en cuenta el diseño, Vertex AI Search detecta el diseño de un documento y lo tiene en cuenta durante la división en fragmentos. Esto mejora la coherencia semántica y reduce el ruido en el contenido cuando se usa para la recuperación y la generación de LLM. Todo el texto de un fragmento provendrá de la misma entidad de diseño, como encabezados, subencabezados y listas.

  • Análisis de diseño: Para activar esta opción, especifica ParsingConfig.LayoutParsingConfig durante la creación del almacén de datos.

    El analizador de diseño detecta diseños para archivos PDF, HTML y DOCX. Identifica elementos como bloques de texto, tablas, listas, títulos y encabezados, y los usa para definir la organización y la jerarquía de un documento.

    Para obtener más información sobre el análisis de diseño, consulta Análisis de diseño.

Activa la fragmentación de documentos

Para activar la fragmentación de documentos, incluye el objeto documentProcessingConfig en tu solicitud de creación del almacén de datos y activa la fragmentación de documentos que tiene en cuenta el diseño y el análisis del diseño.

REST

Para activar la fragmentación de documentos, haz lo siguiente:

  1. Cuando crees un almacén de datos de búsqueda con la API, incluye el objeto documentProcessingConfig.chunkingConfig en la solicitud de creación del almacén de datos.

     "documentProcessingConfig": {
       "chunkingConfig": {
           "layoutBasedChunkingConfig": {
               "chunkSize": CHUNK_SIZE_LIMIT,
               "includeAncestorHeadings": HEADINGS_BOOLEAN,
           }
       },
       "defaultParsingConfig": {
         "layoutParsingConfig": {}
       }
     }
    

    Reemplaza lo siguiente:

    • CHUNK_SIZE_LIMIT: Opcional Es el límite de tamaño de token para cada fragmento. El valor predeterminado es 500. Los valores admitidos son de 100 a 500 (inclusive).
    • HEADINGS_BOOLEAN: Opcional Determina si los encabezados se incluyen en cada fragmento. El valor predeterminado es false. Agregar el título y los encabezados en todos los niveles a los fragmentos del medio del documento puede ayudar a evitar la pérdida de contexto en la recuperación y clasificación de fragmentos.

Console

Cuando crees un almacén de datos de búsqueda a través de la consola, puedes activar la fragmentación de documentos.

Trae tus propios fragmentos (vista previa con lista de entidades permitidas)

Si ya dividiste tus documentos en fragmentos, puedes subirlos a Vertex AI Search en lugar de activar las opciones de fragmentación de documentos.

Trae tus propios fragmentos es una función de versión preliminar con lista de entidades permitidas. Para usar esta función, comunícate con tu equipo de cuentas de Google.

Enumera los fragmentos de un documento

Para enumerar todos los fragmentos de un documento específico, llama al método Chunks.list.

REST

Para enumerar los fragmentos de un documento, sigue este paso:

  1. Llama al método Chunks.list de la siguiente forma:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto
    • DATA_STORE_ID: Es el ID de tu almacén de datos.
    • DOCUMENT_ID: ID del documento del que se enumerarán los fragmentos.

Obtén fragmentos en formato JSON de un documento procesado

Puedes obtener todos los fragmentos de un documento específico en formato JSON llamando al método getProcessedDocument. Obtener fragmentos en formato JSON puede ser útil si necesitas subirlos a otro lugar o si decides volver a importarlos a las aplicaciones basadas en IA con la función bring your own chunks.

REST

Para obtener fragmentos JSON de un documento, sigue este paso:

  1. Llama al método getProcessedDocument de la siguiente forma:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto
    • DATA_STORE_ID: Es el ID de tu almacén de datos.
    • DOCUMENT_ID: Es el ID del documento del que se obtendrán fragmentos.

Cómo obtener fragmentos específicos

Para obtener un fragmento específico, llama al método Chunks.get.

REST

Para obtener un fragmento específico, sigue este paso:

  1. Llama al método Chunks.get de la siguiente forma:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto
    • DATA_STORE_ID: Es el ID de tu almacén de datos.
    • DOCUMENT_ID: ID del documento del que proviene el fragmento.
    • CHUNK_ID: ID del fragmento que se devolverá.

Después de confirmar que tus datos se dividieron correctamente, Vertex AI Search puede devolver datos divididos en sus resultados de búsqueda.

La respuesta devuelve un fragmento relevante para la búsqueda. Además, puedes optar por devolver fragmentos adyacentes que aparecen antes y después del fragmento pertinente en el documento fuente. Los fragmentos adyacentes pueden agregar contexto y precisión.

REST

Para obtener datos segmentados, haz lo siguiente:

  1. Cuando realices una solicitud de búsqueda, especifica ContentSearchSpec.SearchResultMode como chunks.

    contentSearchSpec": {
      "searchResultMode": "RESULT_MODE",
      "chunkSpec": {
           "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS,
           "numNextChunks": NUMBER_OF_NEXT_CHUNKS
       }
    }
    
    • RESULT_MODE: Determina si los resultados de la búsqueda se devuelven como documentos completos o en fragmentos. Para obtener fragmentos, el almacén de datos debe tener activada la fragmentación de documentos. Los valores aceptados son documents y chunks. Si la división de documentos está activada para tu almacén de datos, el valor predeterminado es chunks.
    • NUMBER_OF_PREVIOUS_CHUNKS: Es la cantidad de fragmentos que se devolverán y que precedieron inmediatamente al fragmento pertinente. El valor máximo permitido es 5.
    • NUMBER_OF_NEXT_CHUNKS: Es la cantidad de fragmentos que se devolverán y que siguen inmediatamente al fragmento pertinente. El valor máximo permitido es 5.

Ejemplo

En el siguiente ejemplo de una solicitud de búsqueda, se establece SearchResultMode en chunks, se solicita un fragmento anterior y uno siguiente, y se limita la cantidad de resultados a un solo fragmento pertinente con pageSize.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
  "query": "animal",
  "pageSize": 1,
  "contentSearchSpec": {
    "searchResultMode": "CHUNKS",
    "chunkSpec": {
           "numPreviousChunks": 1,
           "numNextChunks": 1
       }
  }
}'

En el siguiente ejemplo, se muestra la respuesta que se devuelve para la consulta de ejemplo. La respuesta contiene los fragmentos pertinentes, los fragmentos anterior y siguiente, los metadatos del documento original y el intervalo de páginas del documento del que se derivó cada fragmento.

Respuesta

{
  "results": [
    {
      "chunk": {
        "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17",
        "id": "c17",
        "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) b               by using data, triggers or indicators. ",
        "documentMetadata": {
          "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
          "title": "AnimalHealthGoodPracticeNote"
        },
        "pageSpan": {
          "pageStart": 14,
          "pageEnd": 15
        },
        "chunkMetadata": {
          "previousChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16",
              "id": "c16",
              "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats' immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 13,
                "pageEnd": 14
              }
            }
          ],
          "nextChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18",
              "id": "c18",
              "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. – see also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 15,
                "pageEnd": 16
              }
            }
          ]
        }
      }
    }
  ],
  "totalSize": 61,
  "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt",
  "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC",
  "guidedSearchResult": {},
  "summary": {}
}

¿Qué sigue?