Partager via


Compétence Mise en page du document

Remarque

Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et elle n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

La compétence Disposition du document analyse un document pour détecter la structure et les caractéristiques, et produit une représentation syntactique du document au format Markdown ou Texte. Vous pouvez l’utiliser pour extraire du texte et des images, où l’extraction d’images inclut des métadonnées d’emplacement qui conservent la position de l’image dans le document. La proximité de l’image avec le contenu associé est bénéfique dans les charges de travail de génération augmentée (RAG) de récupération et les scénarios de recherche modale .

Cet article est la documentation de référence pour la compétence Disposition du document. Pour plus d’informations sur l’utilisation, consultez Comment segmenter et vectoriser par disposition de document.

Il est courant d’utiliser cette compétence sur du contenu tel que des fichiers PDF qui ont une structure et des images. Les didacticiels suivants illustrent plusieurs scénarios :

Remarque

Cette compétence utilise le modèle de disposition Document Intelligence fourni dans Azure AI Document Intelligence.

Cette compétence est liée à une ressource multiservices Azure AI facturable pour les transactions qui dépassent 20 documents par indexeur par jour. L’exécution des compétences intégrées est facturée au prix standard des services Azure AI existants.

Limites

Pendant la préversion publique, cette compétence a les restrictions suivantes :

  • La compétence ne convient pas aux documents volumineux nécessitant plus de 5 minutes de traitement dans le modèle de disposition AI Document Intelligence. La compétence expire, mais les frais s’appliquent toujours à la ressource multiservices AI Services s’ils s’attachent à l’ensemble de compétences à des fins de facturation. Assurez-vous que les documents sont optimisés pour rester dans les limites de traitement pour éviter les coûts inutiles.

Régions prises en charge

La compétence Disposition du document appelle la préversion publique Document Intelligence version 2024-07-31-preview.

Les régions prises en charge varient selon la modalité et la façon dont la compétence se connecte au modèle de disposition Document Intelligence.

Approche Besoin
Assistant Importation et vectorisation des données Créez une ressource multiservices Azure AI dans l’une de ces régions pour bénéficier de l’expérience du portail : USA Est, Europe Ouest, USA Centre Nord.
Programmatique, à l’aide de l’authentification Microsoft Entra ID (préversion) pour la facturation Créez Recherche Azure AI dans l’une des régions suivantes : USA Est, Europe Ouest, USA Centre Nord, USA Ouest 2.
Créez la ressource multiservices Azure AI dans n’importe quelle région répertoriée dans la table Disponibilité du produit par région .
Programmatique, à l’aide d’une clé API multiservices pour la facturation Créez votre service Recherche d’IA Azure et votre ressource multiservices IA dans la même région : USA Est, Europe Ouest, USA Centre Nord, USA Ouest 2.

Formats de fichiers pris en charge

Cette compétence reconnaît les formats de fichier suivants.

  • PDF.
  • . JPEG
  • .JPG
  • .PNG
  • .BMP
  • . BROUILLE
  • .DOCX
  • . XLSX
  • .PPTX
  • .HTML

Langues prises en charge

Reportez-vous au modèle de disposition Azure AI Document Intelligence pris en charge les langues pour le texte imprimé.

Paramètres pris en charge

Plusieurs paramètres sont spécifiques à la version. Le tableau des paramètres de compétences note la version de l’API dans laquelle un paramètre a été introduit afin que vous sachiez comment configurer la compétence. Pour utiliser des fonctionnalités spécifiques à la version telles que l’extraction des métadonnées d’image et d’emplacement dans l’API REST 2025-05-01-preview, vous pouvez utiliser le portail Azure ou cibler 2025-05-01-preview, ou vérifier un journal des modifications du SDK Azure pour voir s’il prend en charge les nouveaux paramètres.

Le Portail Azure prend en charge la plupart des fonctionnalités en préversion et peut être utilisé pour créer ou mettre à jour un ensemble de compétences. Pour les mises à jour apportées à la compétence Disposition du document, modifiez la définition JSON de l’ensemble de compétences pour ajouter de nouveaux paramètres d’aperçu.

@odata.type

Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill

Limites de données

  • Pour les PDF et TIFF, jusqu'à 2 000 pages peuvent être traitées (avec un abonnement gratuit, seules les deux premières pages sont traitées).
  • Même si la taille de fichier pour l’analyse des documents est de 500 Mo pour le niveau Azure AI Document Intelligence payant (S0) et de 4 Mo pour le niveau Gratuit Azure AI Document Intelligence (F0), l’indexation est soumise aux limites d’indexeur de votre niveau de service de recherche.
  • Les dimensions de l’image doivent être comprises entre 50 pixels x 50 pixels ou 10 000 pixels x 10 000 pixels.
  • Si vos fichiers PDF sont verrouillés par mot de passe, supprimez le verrou avant d’exécuter l’indexeur.

Paramètres de la compétence

Les paramètres respectent la casse.

Nom du paramètre Version Valeurs autorisées Descriptif
outputMode 2024-11-01-preview oneToMany Contrôle la cardinalité de la sortie produite par la compétence.
markdownHeaderDepth 2024-11-01-preview h1, , h2, h3h4, , h5h6(default) S’applique uniquement si outputFormat est défini sur markdown. Ce paramètre décrit le niveau d’imbrication le plus profond qui doit être pris en compte. Par exemple, si markdownHeaderDepth est h3, toutes les sections qui sont plus approfondies telles que h4, sont roulées dans h3.
outputFormat 2025-05-01-preview markdown(default), text Nouveau. Contrôle le format de la sortie générée par la compétence.
extractionOptions 2025-05-01-preview ["images"], , ["images", "locationMetadata"]["locationMetadata"] Nouveau. Identifiez tout contenu supplémentaire extrait du document. Définissez un tableau d’énumérations qui correspondent au contenu à inclure dans la sortie. Par exemple, si la extractionOptions valeur est ["images", "locationMetadata"], la sortie inclut des images et des métadonnées d’emplacement qui fournissent des informations d’emplacement de page relatives à l’emplacement où le contenu a été extrait, tel qu’un numéro de page ou une section. Ce paramètre s’applique aux deux formats de sortie.
chunkingProperties 2025-05-01-preview Voir ci-dessous. Nouveau. S’applique uniquement si outputFormat est défini sur text. Options qui encapsulent le contenu du texte en bloc lors de la recomputation d’autres métadonnées.
Paramètre ChunkingProperties Version Valeurs autorisées Descriptif
unit 2025-05-01-preview Characters. actuellement la seule valeur autorisée. La longueur du bloc est mesurée en caractères, par opposition aux mots ou aux jetons Nouveau. Contrôle la cardinalité de l’unité de bloc.
maximumLength 2025-05-01-preview Entier compris entre 300-50000 Nouveau. Longueur maximale de bloc en caractères mesurée par String.Length.
overlapLength 2025-05-01-preview Entier. La valeur doit être inférieure à la moitié de la maximumLength Nouveau. Longueur de chevauchement fournie entre deux blocs de texte.

Entrées de la compétence

Nom de l'entrée Descriptif
file_data Fichier à partir duquel le contenu doit être extrait.

L’entrée « file_data » doit être un objet défini comme suit :

{
  "$type": "file",
  "data": "BASE64 encoded string of the file"
}

Elle peut également être définie comme suit :

{
  "$type": "file",
  "url": "URL to download file",
  "sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}

L’objet de référence de fichier peut être généré de l’une des manières suivantes :

  • Définition du paramètre sur la allowSkillsetToReadFileData valeur true de votre définition d’indexeur. Ce paramètre crée un chemin d’accès /document/file_data qui représente les données de fichier d’origine téléchargées à partir de votre source de données d’objet blob. Ce paramètre s’applique uniquement aux fichiers du stockage Blob Azure.

  • Avoir une compétence personnalisée retournant une définition d’objet JSON qui fournit $type, dataou url et sastoken. Le $type paramètre doit être défini filesur , et data doit être le tableau d’octets codé en base 64 du contenu du fichier. Le url paramètre doit être une URL valide avec accès pour télécharger le fichier à cet emplacement.

Sorties de la compétence

Nom de sortie Descriptif
markdown_document S’applique uniquement si outputFormat est défini sur markdown. Collection d’objets « sections », qui représentent chaque section individuelle dans le document Markdown.
text_sections S’applique uniquement si outputFormat est défini sur text. Collection d’objets de bloc de texte, qui représentent le texte dans les limites d’une page (factoring dans un plus grand nombre de blocs configurés), inclus tous les en-têtes de section eux-mêmes. L’objet bloc de texte inclut locationMetadata le cas échéant.
normalized_images S’applique uniquement si outputFormat elle est définie text et extractionOptions inclut images. Collection d’images extraites du document, y compris locationMetadata le cas échéant.

Exemple de définition pour le mode de sortie Markdown

{
  "skills": [
    {
      "description": "Analyze a document",
      "@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill",
      "context": "/document",
      "outputMode": "oneToMany", 
      "markdownHeaderDepth": "h3", 
      "inputs": [
        {
          "name": "file_data",
          "source": "/document/file_data"
        }
      ],
      "outputs": [
        {
          "name": "markdown_document", 
          "targetName": "markdown_document" 
        }
      ]
    }
  ]
}

Exemple de sortie pour le mode de sortie Markdown

{
  "markdown_document": [
    { 
      "content": "Hi this is Jim \r\nHi this is Joe", 
      "sections": { 
        "h1": "Foo", 
        "h2": "Bar", 
        "h3": "" 
      },
      "ordinal_position": 0
    }, 
    { 
      "content": "Hi this is Lance",
      "sections": { 
         "h1": "Foo", 
         "h2": "Bar", 
         "h3": "Boo" 
      },
      "ordinal_position": 1,
    } 
  ] 
}

La valeur du markdownHeaderDepth contrôle le nombre de clés dans le dictionnaire « sections ». Dans l’exemple de définition de compétence, étant donné que « markdownHeaderDepth h3 », il existe trois clés dans le dictionnaire « sections » : h1, h2, h3.

Exemple pour le mode de sortie de texte et l’extraction d’images et de métadonnées

Cet exemple montre comment utiliser les nouveaux paramètres introduits dans la préversion 2025-05-01 pour générer du contenu texte en blocs de taille fixe et extraire des images ainsi que des métadonnées d’emplacement à partir du document.

Exemple de définition pour le mode de sortie de texte et l’extraction d’images et de métadonnées

{
  "skills": [
    {
      "description": "Analyze a document",
      "@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill",
      "context": "/document",
      "outputMode": "oneToMany",
      "outputFormat": "text",
      "extractionOptions": ["images", "locationMetadata"],
      "chunkingProperties": {     
          "unit": "characters",
          "maximumLength": 2000, 
          "overlapLength": 200
      },
      "inputs": [
        {
          "name": "file_data",
          "source": "/document/file_data"
        }
      ],
      "outputs": [
        { 
          "name": "text_sections", 
          "targetName": "text_sections" 
        }, 
        { 
          "name": "normalized_images", 
          "targetName": "normalized_images" 
        } 
      ]
    }
  ]
}

Exemple de sortie pour le mode de sortie de texte et l’extraction d’images et de métadonnées

{
  "text_sections": [
      {
        "id": "1_7e6ef1f0-d2c0-479c-b11c-5d3c0fc88f56",
        "content": "the effects of analyzers using Analyze Text (REST). For more information about analyzers, see Analyzers for text processing.During indexing, an indexer only checks field names and types. There's no validation step that ensures incoming content is correct for the corresponding search field in the index.Create an indexerWhen you're ready to create an indexer on a remote search service, you need a search client. A search client can be the Azure portal, a REST client, or code that instantiates an indexer client. We recommend the Azure portal or REST APIs for early development and proof-of-concept testing.Azure portal1. Sign in to the Azure portal 2, then find your search service.2. On the search service Overview page, choose from two options:· Import data wizard: The wizard is unique in that it creates all of the required elements. Other approaches require a predefined data source and index.All services > Azure Al services | Al Search >demo-search-svc Search serviceSearchAdd indexImport dataImport and vectorize dataOverviewActivity logEssentialsAccess control (IAM)Get startedPropertiesUsageMonitoring· Add indexer: A visual editor for specifying an indexer definition.",
        "locationMetadata": {
          "pageNumber": 1,
          "ordinalPosition": 0,
          "boundingPolygons": "[[{\"x\":1.5548,\"y\":0.4036},{\"x\":6.9691,\"y\":0.4033},{\"x\":6.9691,\"y\":0.8577},{\"x\":1.5548,\"y\":0.8581}],[{\"x\":1.181,\"y\":1.0627},{\"x\":7.1393,\"y\":1.0626},{\"x\":7.1393,\"y\":1.7363},{\"x\":1.181,\"y\":1.7365}],[{\"x\":1.1923,\"y\":2.1466},{\"x\":3.4585,\"y\":2.1496},{\"x\":3.4582,\"y\":2.4251},{\"x\":1.1919,\"y\":2.4221}],[{\"x\":1.1813,\"y\":2.6518},{\"x\":7.2464,\"y\":2.6375},{\"x\":7.2486,\"y\":3.5913},{\"x\":1.1835,\"y\":3.6056}],[{\"x\":1.3349,\"y\":3.9489},{\"x\":2.1237,\"y\":3.9508},{\"x\":2.1233,\"y\":4.1128},{\"x\":1.3346,\"y\":4.111}],[{\"x\":1.5705,\"y\":4.5322},{\"x\":5.801,\"y\":4.5326},{\"x\":5.801,\"y\":4.7311},{\"x\":1.5704,\"y\":4.7307}]]"
        },
        "sections": ["sectionHeading"]
      },
      {
        "id": "2_25134f52-04c3-415a-ab3d-80729bd58e67",
        "content": "All services > Azure Al services | Al Search >demo-search-svc | Indexers Search serviceSearch0«Add indexerRefreshDelete:selected: TagsFilter by name ...:selected: Diagnose and solve problemsSearch managementStatusNameIndexesIndexers*Data sourcesRun the indexerBy default, an indexer runs immediately when you create it on the search service. You can override this behavior by setting disabled to true in the indexer definition. Indexer execution is the moment of truth where you find out if there are problems with connections, field mappings, or skillset construction.There are several ways to run an indexer:· Run on indexer creation or update (default).. Run on demand when there are no changes to the definition, or precede with reset for full indexing. For more information, see Run or reset indexers.· Schedule indexer processing to invoke execution at regular intervals.Scheduled execution is usually implemented when you have a need for incremental indexing so that you can pick up the latest changes. As such, scheduling has a dependency on change detection.Indexers are one of the few subsystems that make overt outbound calls to other Azure resources. In terms of Azure roles, indexers don't have separate identities; a connection from the search engine to another Azure resource is made using the system or user- assigned managed identity of a search service. If the indexer connects to an Azure resource on a virtual network, you should create a shared private link for that connection. For more information about secure connections, see Security in Azure Al Search.Check results",
        "locationMetadata": {
          "pageNumber": 2,
          "ordinalPosition": 1,
          "boundingPolygons": "[[{\"x\":2.2041,\"y\":0.4109},{\"x\":4.3967,\"y\":0.4131},{\"x\":4.3966,\"y\":0.5505},{\"x\":2.204,\"y\":0.5482}],[{\"x\":2.5042,\"y\":0.6422},{\"x\":4.8539,\"y\":0.6506},{\"x\":4.8527,\"y\":0.993},{\"x\":2.5029,\"y\":0.9845}],[{\"x\":2.3705,\"y\":1.1496},{\"x\":2.6859,\"y\":1.15},{\"x\":2.6858,\"y\":1.2612},{\"x\":2.3704,\"y\":1.2608}],[{\"x\":3.7418,\"y\":1.1709},{\"x\":3.8082,\"y\":1.171},{\"x\":3.8081,\"y\":1.2508},{\"x\":3.7417,\"y\":1.2507}],[{\"x\":3.9692,\"y\":1.1445},{\"x\":4.0541,\"y\":1.1445},{\"x\":4.0542,\"y\":1.2621},{\"x\":3.9692,\"y\":1.2622}],[{\"x\":4.5326,\"y\":1.2263},{\"x\":5.1065,\"y\":1.229},{\"x\":5.106,\"y\":1.346},{\"x\":4.5321,\"y\":1.3433}],[{\"x\":5.5508,\"y\":1.2267},{\"x\":5.8992,\"y\":1.2268},{\"x\":5.8991,\"y\":1.3408},{\"x\":5.5508,\"y\":1.3408}]]"
        },
        "sections": ["sectionHeading", "title"]
       }
    ],
    "normalized_images": [ 
        { 
            "id": "1_550e8400-e29b-41d4-a716-446655440000", 
            "data": "SGVsbG8sIFdvcmxkIQ==", 
            "imagePath": "aHR0cHM6Ly9henNyb2xsaW5nLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsaXR5L0NyZWF0ZUluZGV4ZXJwNnA3LnBkZg2/normalized_images_0.jpg",  
            "locationMetadata": {
              "pageNumber": 1,
              "ordinalPosition": 0,
              "boundingPolygons": "[[{\"x\":2.0834,\"y\":6.2245},{\"x\":7.1818,\"y\":6.2244},{\"x\":7.1816,\"y\":7.9375},{\"x\":2.0831,\"y\":7.9377}]]"
            }
        },
        { 
            "id": "2_123e4567-e89b-12d3-a456-426614174000", 
            "data": "U29tZSBtb3JlIGV4YW1wbGUgdGV4dA==", 
            "imagePath": "aHR0cHM6Ly9henNyb2xsaW5nLmJsb2IuY29yZS53aW5kb3dzLm5ldC9tdWx0aW1vZGFsaXR5L0NyZWF0ZUluZGV4ZXJwNnA3LnBkZg2/normalized_images_1.jpg",  
            "locationMetadata": {
              "pageNumber": 2,
              "ordinalPosition": 1,
              "boundingPolygons": "[[{\"x\":2.0784,\"y\":0.3734},{\"x\":7.1837,\"y\":0.3729},{\"x\":7.183,\"y\":2.8611},{\"x\":2.0775,\"y\":2.8615}]]"
            } 
        }
    ] 
}

La compétence utilise Azure AI Document Intelligence pour calculer locationMetadata. Reportez-vous au modèle de disposition Document Intelligence pour plus d’informations sur la façon dont les pages et les coordonnées de polygones englobantes sont définies.

Représente imagePath le chemin relatif d’une image stockée. Si la projection du fichier du magasin de connaissances est configurée dans l’ensemble de compétences, ce chemin correspond au chemin relatif de l’image stockée dans la base de connaissances.

Voir aussi