O Layout Parser extrai elementos de conteúdo de documentos, como texto, tabelas e listas, e cria blocos sensíveis ao contexto que facilitam a obtenção de informações em aplicações de IA generativa e de descoberta.
Funcionalidades do analisador de esquemas
Analise esquemas de documentos. Pode introduzir ficheiros HTML ou PDF no analisador de esquemas para identificar elementos de conteúdo, como blocos de texto, tabelas, listas e elementos estruturais, como títulos e cabeçalhos. Estes elementos ajudam a definir a organização e a hierarquia de um documento com conteúdo avançado e elementos estruturais que podem criar mais contexto para a obtenção e a descoberta de informações.
Divida os documentos em partes. O Layout Parser pode dividir os documentos em partes que retêm informações contextuais sobre a hierarquia de esquemas do documento original. Os MDIs de geração de respostas podem usar blocos para melhorar a relevância e diminuir a carga computacional.
Ter em conta o esquema de um documento durante a divisão em partes melhora a coerência semântica e reduz o ruído no conteúdo quando é usado para obtenção e geração de LLMs. Todo o texto num fragmento provém da mesma entidade de esquema, como um cabeçalho, um subtítulo ou uma lista.
Limitações
Aplicam-se as seguintes limitações:
- Processamento online:
- Tamanho máximo do ficheiro de entrada de 20 MB para todos os tipos de ficheiros
- Máximo de 15 páginas por ficheiro PDF
- Processamento em lote:
- Tamanho máximo de ficheiro único de 1 GB para ficheiros PDF
- Máximo de 500 páginas por ficheiro PDF
Deteção de esquemas por tipo de ficheiro
A tabela seguinte apresenta os elementos que o analisador de esquemas pode detetar por tipo de ficheiro de documento.
Tipo de ficheiro | Tipo MIME | Elementos detetados | Limitações |
---|---|---|---|
HTML | text/html |
parágrafo, tabela, lista, título, cabeçalho, cabeçalho da página, rodapé da página | Tenha em atenção que a análise depende muito das etiquetas HTML, pelo que a formatação baseada em CSS pode não ser capturada. |
application/pdf |
parágrafo, tabela, título, cabeçalho, cabeçalho da página, rodapé da página | As tabelas que abrangem várias páginas podem ser divididas em duas tabelas. | |
DOCX (Pré-visualizar) | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
Parágrafos, tabelas em várias páginas, listas, títulos e elementos de cabeçalho | As tabelas aninhadas não são suportadas. |
PPTX (pré-visualização) | application/vnd.openxmlformats-officedocument.presentationml.presentation |
elementos de parágrafo, tabela, lista, título e cabeçalho | Para que os títulos sejam identificados com precisão, devem ser marcados como tal no ficheiro do PowerPoint. Não são suportadas tabelas aninhadas nem diapositivos ocultos. |
XLSX (pré-visualização) | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
tabelas em folhas de cálculo do Excel, compatíveis com os valores INT ,
FLOAT e STRING |
A deteção de várias tabelas não é suportada. As folhas, as linhas ou as colunas ocultas também podem afetar a deteção. |
XLSM (Pré-visualização) | application/vnd.ms-excel.sheet.macroenabled.12 |
Folha de cálculo com macros ativadas, que suporta os valores INT ,
FLOAT e STRING |
A deteção de várias tabelas não é suportada. As folhas, as linhas ou as colunas ocultas também podem afetar a deteção. |
Antes de começar
Para ativar o analisador de esquemas, siga estes passos:
Crie um analisador de esquemas seguindo as instruções em Criar e gerir processadores.
O nome do tipo de processador é
LAYOUT_PARSER_PROCESSOR
.Ative o analisador de esquemas seguindo as instruções em Ative um processador.
Envie um pedido de processamento online com o analisador de esquemas
Introduza documentos no Layout Parser para os analisar e dividir em partes.
Siga as instruções para pedidos de processamento em lote em Envie um pedido de processamento.
Configure campos em
ProcessOptions.layoutConfig
emProcessDocumentRequest
.REST
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION: a localização do seu processador, por exemplo:
us
– Estados Unidoseu
- União Europeia
- PROJECT_ID: o ID do seu Google Cloud projeto.
- PROCESSOR_ID: o ID do seu processador personalizado.
- MIME_TYPE: o analisador de esquemas suporta
application/pdf
etext/html
. - DOCUMENT: o conteúdo a dividir em partes. O Layout Parser aceita documentos PDF ou HTML não processados, ou documentos processados que foram gerados pelo Layout Parser.
- CHUNK_SIZE: opcional. O tamanho do fragmento, em tokens, a usar ao dividir documentos.
- INCLUDE_ANCESTOR_HEADINGS: opcional. Booleano. Se deve ou não incluir títulos antecessores ao dividir documentos.
Método HTTP e URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
Corpo JSON do pedido:
// 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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome
request.json
, e execute o seguinte 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
Guarde o corpo do pedido num ficheiro com o nome
request.json
, e execute o seguinte 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
eDocument.chunkedDocument
.Python
Para mais informações, consulte a documentação de referência da API Python Document AI.
Para se autenticar no Document AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
- LOCATION: a localização do seu processador, por exemplo:
Processe documentos em lote com o analisador de esquemas
Use o procedimento seguinte para analisar e dividir vários documentos num único pedido.
Introduza documentos no Layout Parser para os analisar e dividir em partes.
Siga as instruções para pedidos de processamento em lote em Envie um pedido de processamento.
Configure campos em
ProcessOptions.layoutConfig
quando fizer um pedidobatchProcess
.Entrada
O exemplo JSON seguinte configura
ProcessOptions.layoutConfig
."processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
Substitua o seguinte:
CHUNK_SIZE
: o tamanho máximo do fragmento, em número de tokens, a usar ao dividir documentos.INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: se deve incluir os títulos antecessores ao dividir documentos. Os títulos antecessores são os pais dos subtítulos no documento original. Podem fornecer um fragmento com contexto adicional acerca da respetiva posição no documento original. Podem ser incluídos até dois níveis de títulos com um fragmento.
O que se segue?
- Reveja a lista de processadores.
- Crie um classificador personalizado.
- Use o Enterprise Document OCR para detetar e extrair texto.
- Reveja o artigo Envie um pedido de documentos de processo em lote para saber como processar respostas.