Layout Parser extrae elementos de contenido de documentos, como texto, tablas y listas, y crea fragmentos contextualizados que facilitan la recuperación de información en aplicaciones de IA generativa y de descubrimiento.
Funciones de Layout Parser
Analizar diseños de documentos. Puedes introducir archivos HTML o PDF en Layout Parser para identificar elementos de contenido, como bloques de texto, tablas, listas y elementos estructurales, como títulos y encabezados. Estos elementos ayudan a definir la organización y la jerarquía de un documento con contenido enriquecido y elementos estructurales que pueden crear más contexto para la recuperación y el descubrimiento de información.
Fracciona los documentos. Layout Parser puede dividir los documentos en fragmentos que conservan información contextual sobre la jerarquía de diseño del documento original. Los LLMs que generan respuestas pueden usar fragmentos para mejorar la relevancia y reducir la carga computacional.
Tener en cuenta el diseño de un documento durante la fragmentación mejora la coherencia semántica y reduce el ruido en el contenido cuando se usa para la recuperación y la generación de LLMs. Todo el texto de un fragmento procede de la misma entidad de diseño, como un encabezado, un subtítulo o una lista.
Limitaciones
Se aplican las siguientes limitaciones:
- Procesamiento online:
- El tamaño máximo del archivo de entrada es de 20 MB para todos los tipos de archivo.
- Máximo de 15 páginas por archivo PDF
- Procesamiento por lotes:
- Tamaño máximo de un único archivo PDF de 1 GB
- Máximo de 500 páginas por archivo PDF
Detección de diseño por tipo de archivo
En la siguiente tabla se enumeran los elementos que Layout Parser puede detectar por tipo de archivo de documento.
Tipo de archivo | Tipo MIME | Elementos detectados | Limitaciones |
---|---|---|---|
HTML | text/html |
párrafo, tabla, lista, título, encabezado, encabezado de página, pie de página | Ten en cuenta que el análisis depende en gran medida de las etiquetas HTML, por lo que es posible que no se capture el formato basado en CSS. |
application/pdf |
párrafo, tabla, título, encabezado, encabezado de página, pie de página | Las tablas que abarcan varias páginas pueden dividirse en dos tablas. | |
DOCX (vista previa) | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
párrafos, tablas en varias páginas, listas, títulos y elementos de encabezado | No se admiten tablas anidadas. |
PPTX (vista previa) | application/vnd.openxmlformats-officedocument.presentationml.presentation |
Elementos de párrafo, tabla, lista, título y encabezado | Para que los encabezados se identifiquen correctamente, deben marcarse como tales en el archivo de PowerPoint. No se admiten las tablas anidadas ni las diapositivas ocultas. |
XLSX (Vista previa) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Tablas de hojas de cálculo de Excel que admiten los valores INT , FLOAT y STRING |
No se admite la detección de varias tablas. Las hojas, filas o columnas ocultas también pueden afectar a la detección. |
XLSM (vista previa) | application/vnd.ms-excel.sheet.macroenabled.12 |
hoja de cálculo con macros habilitadas que admite los valores INT ,
FLOAT y STRING |
No se admite la detección de varias tablas. Las hojas, filas o columnas ocultas también pueden afectar a la detección. |
Antes de empezar
Para activar el analizador de diseño, sigue estos pasos:
Crea un analizador de diseño siguiendo las instrucciones de Crear y gestionar procesadores.
El nombre del tipo de procesador es
LAYOUT_PARSER_PROCESSOR
.Habilita Layout Parser siguiendo las instrucciones de Habilitar un procesador.
Enviar una solicitud de proceso online con Layout Parser
Introduce documentos en Layout Parser para analizarlos y dividirlos en fragmentos.
Sigue las instrucciones para enviar solicitudes de procesamiento en lote que se indican en la sección Enviar una solicitud de procesamiento.
Configura los campos en
ProcessOptions.layoutConfig
enProcessDocumentRequest
.REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: la ubicación de tu procesador, por ejemplo:
us
- Estados Unidoseu
- Unión Europea
- PROJECT_ID: tu ID de proyecto Google Cloud .
- PROCESSOR_ID: el ID de tu procesador personalizado.
- MIME_TYPE: Layout Parser admite
application/pdf
ytext/html
. - DOCUMENT: el contenido que se va a dividir en fragmentos. Layout Parser acepta documentos PDF o HTML sin procesar, o documentos analizados que haya generado Layout Parser.
- CHUNK_SIZE: opcional. Tamaño del fragmento, en tokens, que se usará al dividir los documentos.
- INCLUDE_ANCESTOR_HEADINGS: opcional. Booleano. Indica si se deben incluir los encabezados de los elementos superiores al dividir documentos.
Método HTTP y URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
Cuerpo JSON de la solicitud:
// Sample for inputting raw documents such as PDF or HTML { "rawDocument": { "mimeType": "MIME_TYPE", "content": "DOCUMENT" }, "processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS", } } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process"PowerShell
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand ContentDocument.documentLayout
yDocument.chunkedDocument
.Python
Para obtener más información, consulta la documentación de referencia de la API Python de Document AI.
Para autenticarte en Document AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
- LOCATION: la ubicación de tu procesador, por ejemplo:
Procesar documentos por lotes con Layout Parser
Sigue este procedimiento para analizar y dividir en fragmentos varios documentos en una sola solicitud.
Introduce documentos en Layout Parser para analizarlos y dividirlos en fragmentos.
Sigue las instrucciones para enviar solicitudes de procesamiento en lote que se indican en la sección Enviar una solicitud de procesamiento.
Configura los campos de
ProcessOptions.layoutConfig
al enviar una solicitudbatchProcess
.Entrada
En el siguiente ejemplo de JSON se configura
ProcessOptions.layoutConfig
."processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
Haz los cambios siguientes:
CHUNK_SIZE
: tamaño máximo del fragmento, en número de tokens, que se usará al dividir documentos.INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: Indica si se deben incluir los encabezados de los elementos antecesores al dividir documentos. Los encabezados principales son los padres de los subencabezados del documento original. Pueden proporcionar un fragmento con contexto adicional sobre su posición en el documento original. Se pueden incluir hasta dos niveles de encabezados en un fragmento.
Siguientes pasos
- Consulta la lista de procesadores.
- Crea un clasificador personalizado.
- Usa Enterprise Document OCR para detectar y extraer texto.
- Consulta Enviar una solicitud de proceso por lotes de documentos para saber cómo gestionar las respuestas.