Traiter des documents avec l'analyseur de mise en page
L'analyseur de mise en page extrait des éléments de contenu de documents tels que du texte, des tableaux et des listes, et crée des segments contextuels qui facilitent la récupération d'informations dans les applications d'IA générative et de découverte.
Fonctionnalités de l'analyseur de mise en page
Analyser la mise en page des documents Vous pouvez saisir des fichiers HTML ou PDF dans Layout Parser pour identifier des éléments de contenu tels que des blocs de texte, des tableaux, des listes et des éléments structurels tels que des titres et des en-têtes. Ces éléments permettent de définir l'organisation et la hiérarchie d'un document avec du contenu enrichi et des éléments structurels qui peuvent créer plus de contexte pour la récupération et la découverte d'informations.
Découpez les documents en blocs. Layout Parser peut diviser les documents en blocs qui conservent des informations contextuelles sur la hiérarchie de mise en page du document d'origine. Les LLM générant des réponses peuvent utiliser des blocs pour améliorer la pertinence et réduire la charge de calcul.
La prise en compte de la mise en page d'un document lors du découpage améliore la cohérence sémantique et réduit le bruit dans le contenu lorsqu'il est utilisé pour la récupération et la génération de LLM. Tout le texte d'un bloc provient de la même entité de mise en page, comme un titre, un sous-titre ou une liste.
Limites
Les limites suivantes s'appliquent :
- Traitement en ligne :
- La taille du fichier d'entrée ne doit pas dépasser 20 Mo, quel que soit le type de fichier.
- 15 pages maximum par fichier PDF
- Traitement par lot :
- Taille maximale de 40 Mo par fichier PDF
- 500 pages maximum par fichier PDF
Détection de la mise en page par type de fichier
Le tableau suivant liste les éléments que Layout Parser peut détecter par type de fichier de document.
Type de fichier | Éléments détectés | Limites |
---|---|---|
HTML | paragraphe, tableau, liste, titre, en-tête, en-tête de page, pied de page | Sachez que l'analyse repose fortement sur les balises HTML. Il est donc possible que la mise en forme basée sur CSS ne soit pas prise en compte. |
paragraphe, tableau, titre, en-tête, en-tête de page, pied de page | Les tableaux qui s'étendent sur plusieurs pages peuvent être divisés en deux. | |
DOCX (Preview) | paragraphes, tableaux sur plusieurs pages, listes, titres, éléments d'en-tête | Les tableaux imbriqués ne sont pas acceptés. |
PPTX (Aperçu) | éléments de paragraphe, de tableau, de liste, de titre et d'en-tête | Pour que les titres soient identifiés avec précision, ils doivent être marqués comme tels dans le fichier PowerPoint. Les tableaux imbriqués et les diapositives masquées ne sont pas acceptés. |
XLSX/XLSM (Aperçu) | les tableaux dans les feuilles de calcul Excel, avec les valeurs INT , FLOAT et STRING . |
La détection de plusieurs tableaux n'est pas prise en charge. Les feuilles, lignes ou colonnes masquées peuvent également avoir une incidence sur la détection. |
Avant de commencer
Pour activer l'analyseur de mise en page, procédez comme suit :
Créez un analyseur de mise en page en suivant les instructions de la section Créer et gérer des processeurs.
Le nom du type de processeur est
LAYOUT_PARSER_PROCESSOR
.Activez l'analyseur de mise en page en suivant les instructions de la section Activer un processeur.
Envoyer une requête de traitement en ligne avec Layout Parser
Saisissez des documents dans l'analyseur de mise en page pour les analyser et les fragmenter.
Suivez les instructions pour les requêtes de traitement par lot dans Envoyer une demande de traitement.
Configurez les champs dans
ProcessOptions.layoutConfig
dansProcessDocumentRequest
.REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION : emplacement de votre processeur, par exemple :
us
: États-Uniseu
: Union européenne
- PROJECT_ID : ID de votre projet Google Cloud .
- PROCESSOR_ID : ID de votre processeur personnalisé.
- MIME_TYPE : l'analyseur de mise en page est compatible avec
application/pdf
ettext/html
. - DOCUMENT : contenu à diviser en blocs. Layout Parser accepte les documents PDF ou HTML bruts, ou les documents analysés qui ont été générés par Layout Parser.
- CHUNK_SIZE : facultatif. Taille des fragments, en jetons, à utiliser lors de la division des documents.
- INCLUDE_ANCESTOR_HEADINGS : facultatif. Valeur booléenne. Indique si les en-têtes d'ancêtres doivent être inclus lors de la division des documents.
Méthode HTTP et URL :
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
Corps JSON de la requête :
// 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", } } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :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
Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante :$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
etDocument.chunkedDocument
.Python
Pour en savoir plus, consultez la documentation de référence de l'API Document AI Python.
Pour vous authentifier auprès de Document AI, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
- LOCATION : emplacement de votre processeur, par exemple :
Traiter des documents par lot avec l'analyseur de mise en page
Pour analyser et segmenter plusieurs documents dans une même requête, procédez comme suit.
Saisissez des documents dans l'analyseur de mise en page pour les analyser et les fragmenter.
Suivez les instructions pour les requêtes de traitement par lot dans Envoyer une demande de traitement.
Configurez les champs dans
ProcessOptions.layoutConfig
lorsque vous envoyez une requêtebatchProcess
.Entrée
L'exemple JSON suivant configure
ProcessOptions.layoutConfig
."processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
Remplacez les éléments suivants :
CHUNK_SIZE
: taille maximale des blocs, en nombre de jetons, à utiliser lors de la division des documents.INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: indique s'il faut inclure les titres des ancêtres lors de la division des documents. Les en-têtes ancêtres sont les parents des sous-titres dans le document d'origine. Ils peuvent fournir un bloc avec un contexte supplémentaire sur sa position dans le document d'origine. Un bloc peut inclure jusqu'à deux niveaux de titres.
Étapes suivantes
- Consultez la liste des outils de traitement.
- Créez un classificateur personnalisé.
- Utilisez Enterprise Document OCR pour détecter et extraire du texte.
- Consultez Envoyer une requête de traitement par lot de documents pour découvrir comment gérer les réponses.