Elabora i documenti con il parser di layout
Il parser del layout estrae elementi dei contenuti dei documenti come testo, tabelle ed elenchi e crea blocchi sensibili al contesto che facilitano il recupero di informazioni nell'AI generativa e nelle applicazioni di rilevamento.
Funzionalità del parser del layout
Analizza i layout dei documenti. Puoi inserire file HTML o PDF in Layout Parser per identificare elementi dei contenuti come blocchi di testo, tabelle, elenchi ed elementi strutturali come titoli e intestazioni. Questi elementi aiutano a definire l'organizzazione e la gerarchia di un documento con contenuti avanzati ed elementi strutturali che possono creare più contesto per il recupero e l'individuazione delle informazioni.
Dividi i documenti in blocchi. Il parser del layout può dividere i documenti in blocchi che conservano le informazioni contestuali sulla gerarchia del layout del documento originale. Gli LLM che generano risposte possono utilizzare i chunk per migliorare la pertinenza e ridurre il carico computazionale.
Tenere conto del layout di un documento durante la suddivisione in blocchi migliora la coerenza semantica e riduce il rumore nei contenuti quando vengono utilizzati per il recupero e la generazione di LLM. Tutto il testo di un blocco proviene dalla stessa entità di layout, ad esempio un titolo, un sottotitolo o un elenco.
Limitazioni
Si applicano le seguenti limitazioni:
- Elaborazione online:
- Dimensione massima del file di input di 20 MB per tutti i tipi di file
- Massimo 15 pagine per file PDF
- Elaborazione batch:
- Dimensione massima di un singolo file di 40 MB per i file PDF
- Massimo 500 pagine per file PDF
Rilevamento del layout per tipo di file
La tabella seguente elenca gli elementi che Layout Parser può rilevare per tipo di file del documento.
Tipo di file | Elementi rilevati | Limitazioni |
---|---|---|
HTML | paragrafo, tabella, elenco, titolo, intestazione, intestazione di pagina, piè di pagina | Tieni presente che l'analisi si basa in gran parte sui tag HTML, pertanto la formattazione basata su CSS potrebbe non essere acquisita. |
paragrafo, tabella, titolo, intestazione, intestazione pagina, piè di pagina | Le tabelle che si estendono su più pagine potrebbero essere divise in due tabelle. | |
DOCX (anteprima) | paragrafo, tabelle su più pagine, elenco, titolo, elementi di intestazione | Le tabelle nidificate non sono supportate. |
PPTX (anteprima) | elementi paragrafo, tabella, elenco, titolo e intestazione | Affinché i titoli vengano identificati con precisione, devono essere contrassegnati come tali all'interno del file PowerPoint. Le tabelle nidificate e le slide nascoste non sono supportate. |
XLSX/XLSM (anteprima) | tabelle all'interno dei fogli di lavoro Excel, che supportano i valori INT ,
FLOAT e STRING |
Il rilevamento di più tabelle non è supportato. Anche i fogli, le righe o le colonne nascosti potrebbero influire sul rilevamento. |
Prima di iniziare
Per attivare Layout Parser:
Crea un parser di layout seguendo le istruzioni riportate nella sezione Creare e gestire i processori.
Il nome del tipo di processore è
LAYOUT_PARSER_PROCESSOR
.Attiva Layout Parser seguendo le istruzioni riportate in Attivare un processore.
Inviare una richiesta di elaborazione online con Layout Parser
Inserisci i documenti nel parser di layout per analizzarli e suddividerli in chunk.
Segui le istruzioni per le richieste di elaborazione batch in Invia una richiesta di elaborazione.
Configura i campi in
ProcessOptions.layoutConfig
inProcessDocumentRequest
.REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION: la posizione del tuo responsabile del trattamento, ad esempio:
us
- Stati Unitieu
- Unione Europea
- PROJECT_ID: il tuo ID progetto Google Cloud .
- PROCESSOR_ID: l'ID del tuo processore personalizzato.
- MIME_TYPE: il parser del layout supporta
application/pdf
etext/html
. - DOCUMENT: I contenuti da dividere in blocchi. Layout Parser accetta documenti PDF o HTML non elaborati oppure documenti analizzati che sono stati generati da Layout Parser.
- CHUNK_SIZE: (Facoltativo). La dimensione del blocco, in token, da utilizzare per dividere i documenti.
- INCLUDE_ANCESTOR_HEADINGS: (Facoltativo). Valore booleano. Indica se includere o meno le intestazioni predecessore durante la suddivisione dei documenti.
Metodo HTTP e URL:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
Corpo JSON della richiesta:
// 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", } } } }
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato
request.json
, quindi esegui il comando seguente: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
Salva il corpo della richiesta in un file denominato
request.json
, quindi esegui il comando seguente:$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
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Document AI Python.
Per autenticarti in Document AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
- LOCATION: la posizione del tuo responsabile del trattamento, ad esempio:
Elabora i documenti in batch con il parser di layout
Utilizza la seguente procedura per analizzare e dividere più documenti in una singola richiesta.
Inserisci i documenti nel parser di layout per analizzarli e suddividerli in chunk.
Segui le istruzioni per le richieste di elaborazione batch in Invia una richiesta di elaborazione.
Configura i campi in
ProcessOptions.layoutConfig
quando effettui una richiestabatchProcess
.Input
Il seguente esempio di JSON configura
ProcessOptions.layoutConfig
."processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
Sostituisci quanto segue:
CHUNK_SIZE
: la dimensione massima del chunk, in numero di token, da utilizzare per dividere i documenti.INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: Indica se includere le intestazioni predecessore durante la suddivisione dei documenti. Le intestazioni predecessore sono i genitori delle intestazioni secondarie nel documento originale. Possono fornire un blocco con un contesto aggiuntivo sulla sua posizione nel documento originale. Un chunk può includere fino a due livelli di intestazioni.
Passaggi successivi
- Esamina l'elenco dei processori.
- Crea un classificatore personalizzato.
- Utilizza la funzionalità di Enterprise Document OCR per rilevare ed estrarre il testo.
- Consulta la sezione Inviare una richiesta di elaborazione batch dei documenti per scoprire come gestire le risposte.