Freigeben über


Dokumentlayoutfähigkeit

Die Dokumentlayoutfähigkeit analysiert ein Dokument, um Struktur und Merkmale zu erkennen und erzeugt eine syntaktische Darstellung des Dokuments im Markdown- oder Textformat. Sie können ihn verwenden, um Text und Bilder zu extrahieren, wobei die Bildextraktion Positionsmetadaten enthält, die die Bildposition innerhalb des Dokuments beibehalten. Bildnähe zu verwandten Inhalten ist von Vorteil bei RAG-Workloads (Retrieval Augmented Generation) und multimodalen Suchszenarien .

Dieser Artikel ist die Referenzdokumentation für die Dokumentlayoutfähigkeit. Informationen zur Verwendung finden Sie unter " Blockieren und Vektorisieren nach Dokumentlayout".

Diese Fähigkeit verwendet das Layoutmodell aus Azure Document Intelligence in Foundry Tools.

Diese Fähigkeit ist an eine abrechnende Microsoft Foundry-Ressource für Transaktionen gebunden, die 20 Dokumente pro Indexer pro Tag überschreiten. Die Ausführung der integrierten Fähigkeiten wird zum bestehenden Foundry Tools Standard-Preis berechnet.

Tip

Es ist üblich, diese Fähigkeit für Inhalte wie PDFs mit Struktur und Bildern zu verwenden. Die folgenden Lernprogramme veranschaulichen die Bildverbalisierung mit zwei verschiedenen Datenabschnittstechniken:

Limitations

Diese Fähigkeit hat die folgenden Einschränkungen:

  • Die Fähigkeit eignet sich nicht für große Dokumente, die mehr als 5 Minuten Verarbeitung im Azure Document Intelligence-Layoutmodell erfordern. Das Zeitüberschreitungen der Fähigkeiten, aber die Gebühren gelten weiterhin für die Foundry-Ressource, wenn sie für Abrechnungszwecke an das Skillset angefügt ist. Stellen Sie sicher, dass Dokumente optimiert sind, um innerhalb der Verarbeitungsgrenzen zu bleiben, um unnötige Kosten zu vermeiden.

  • Da diese Fähigkeit das Azure Document Intelligence-Layoutmodell aufruft, gelten alle dokumentierten Dienstverhalten für verschiedene Dokumenttypen für unterschiedliche Dateitypen auf ihre Ausgabe. Word -Dateien (DOCX) und PDF-Dateien können z. B. aufgrund von Unterschieden bei der Behandlung von Bildern unterschiedliche Ergebnisse erzielen. Wenn ein einheitliches Bildverhalten in DOCX und PDF erforderlich ist, sollten Sie Dokumente in PDF konvertieren oder die multimodale Suchdokumentation nach alternativen Ansätzen überprüfen.

Unterstützte Regionen

Die Dokumentlayoutfähigkeit ruft die Azure Document Intelligence 2024-11-30 API-Version V4.0 auf.

Unterstützte Regionen variieren je nach Modalität und Art und Weise, wie sich die Fähigkeit mit dem Azure Document Intelligence-Layoutmodell verbindet.

Approach Requirement
Import von Daten (neuer) Assistent Erstellen Sie eine Foundry-Ressource in einer dieser Regionen, um die Portalerfahrung zu erhalten: Ost-USA, Westeuropa, Nord-Mittel-USA.
Programmgesteuert mithilfe der Microsoft Entra ID-Authentifizierung (Vorschau) für die Abrechnung Erstellen Sie Azure AI Search in einer der Regionen, in denen der Dienst unterstützt wird, entsprechend der Produktverfügbarkeit nach Region.
Erstellen Sie die Foundry-Ressource in einer beliebigen Region, die in der Tabelle " Produktverfügbarkeit nach Region " aufgeführt ist.
Programmgesteuert mit einem Foundry-Ressourcenschlüssel für die Abrechnung Erstellen Sie Ihren Azure AI Search-Dienst und die Foundry-Ressource in derselben Region. Dies bedeutet, dass die ausgewählte Region unterstützung für Azure AI Search und Azure Document Intelligence-Dienste haben muss.

Die implementierte Version des Dokumentlayoutmodells unterstützt derzeit keine 21Vianet-Regionen .

Unterstützte Dateiformate

Diese Fähigkeit erkennt die folgenden Dateiformate.

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

Unterstützte Sprachen

Informationen zum Azure Document Intelligence-Layoutmodell, das unterstützte Sprachen für gedruckten Text enthält.

@odata.type

Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill

Datenlimits

  • In den Formaten PDF und TIFF können bis zu 2,000 Seiten verarbeitet werden (bei einem kostenlosen Abonnement werden nur die ersten beiden Seiten verarbeitet).
  • Auch wenn die Dateigröße für die Analyse von Dokumenten 500 MB für die kostenpflichtige Azure Document Intelligence-Stufe (S0) und 4 MB für die kostenlose Azure Document Intelligence-Stufe (F0) beträgt, unterliegt die Indizierung den Indexergrenzwerten Ihrer Suchdienstebene.
  • Bildabmessungen müssen zwischen 50 Pixel x 50 Pixel oder 10.000 Pixel x 10.000 Pixel betragen.
  • Wenn Ihre PDF-Dateien kennwortgesperrt sind, entfernen Sie die Sperre, bevor Sie den Indexer ausführen.

Skillparameter

Bei Parametern wird die Groß-/Kleinschreibung beachtet. In bestimmten Vorschauversionen der REST-API wurden mehrere Parameter eingeführt. Es wird empfohlen, die allgemein verfügbare Version (2025-09-01) oder die neueste Vorschau (2025-11-01-Preview) für den vollzugriff auf alle Parameter zu verwenden.

Parametername Zulässige Werte Description
outputMode oneToMany Steuert die Kardinalität der Ausgabe, die von der Fähigkeit erzeugt wird.
markdownHeaderDepth h1, , h2h3, h4, , h5h6(default) Gilt nur, wenn outputFormat auf markdown festgelegt ist. Dieser Parameter beschreibt die tiefste Schachtelungsebene, die berücksichtigt werden soll. Wenn es sich beispielsweise um den MarkdownHeaderDepth handelt h3, werden alle Abschnitte, die tiefer sind, h4wie z. B. ein Rolldownheaderdepth h3ausgeführt.
outputFormat markdown(default), text New. Steuert das Format der Ausgabe, die von der Fähigkeit generiert wird.
extractionOptions ["images"], ["images", "locationMetadata"]["locationMetadata"] New. Identifizieren Sie alle zusätzlichen Inhalte, die aus dem Dokument extrahiert wurden. Definieren Sie ein Array von Enumerationen, die dem Inhalt entsprechen, der in die Ausgabe eingeschlossen werden soll. Wenn dies extractionOptions der Fall ist ["images", "locationMetadata"], enthält die Ausgabe Bilder und Positionsmetadaten, die Seitenspeicherortinformationen für den Inhalt bereitstellt, z. B. eine Seitenzahl oder einen Abschnitt. Dieser Parameter gilt für beide Ausgabeformate.
chunkingProperties Siehe unten. New. Gilt nur, wenn outputFormat auf text festgelegt ist. Optionen zum Kapseln des Abschnitts von Textinhalten bei der Neukompilierung anderer Metadaten.
ChunkingProperties-Parameter Version Zulässige Werte Description
unit Characters. derzeit der einzige zulässige Wert. Die Blocklänge wird in Zeichen gemessen, im Gegensatz zu Wörtern oder Token. New. Steuert die Kardinalität der Blockeinheit.
maximumLength Eine ganze Zahl zwischen 300 und 50000 New. Die maximale Blocklänge in Zeichen, wie durch String.Length gemessen.
overlapLength Integer. Der Wert muss kleiner als die Hälfte der maximumLength New. Die Länge der Überlappung zwischen zwei Textblöcken.

Skilleingaben

Eingabename Description
file_data Die Datei, aus der Inhalt extrahiert werden soll.

Die Eingabe „file_data“ muss ein Objekt sein, das wie folgt definiert wurde:

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

Alternativ kann es wie folgt definiert werden:

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

Das Dateiverweisobjekt kann auf eine der folgenden Arten generiert werden:

  • Festlegen des allowSkillsetToReadFileData Parameters für die Indexerdefinition auf "true". Diese Einstellung erstellt einen Pfad /document/file_data , der ein Objekt darstellt, das die ursprünglichen Dateidaten darstellt, die aus der BLOB-Datenquelle heruntergeladen wurden. Dieser Parameter gilt nur für Dateien im Azure Blob Storage.

  • Mit einer benutzerdefinierten Fähigkeit, die eine JSON-Objektdefinition zurückgibt, die $type, dataoder url und sastoken. Der $type Parameter muss auf file" data und muss das base64-codierte Bytearray des Dateiinhalts sein. Der url Parameter muss eine gültige URL mit Zugriff zum Herunterladen der Datei an diesem Speicherort sein.

Skillausgaben

Ausgabename Description
markdown_document Gilt nur, wenn outputFormat auf markdown festgelegt ist. Eine Auflistung von "Sections"-Objekten, die jeden einzelnen Abschnitt im Markdown-Dokument darstellen.
text_sections Gilt nur, wenn outputFormat auf text festgelegt ist. Eine Auflistung von Textabschnittsobjekten, die den Text innerhalb der Grenzen einer Seite darstellen (dies wird in alle weiteren Blöcke konfiguriert), einschließlich aller Abschnittsüberschriften selbst. Das Textabschnittsobjekt enthält locationMetadata gegebenenfalls.
normalized_images Gilt nur, wenn outputFormat festgelegt textextractionOptions und eingeschlossen imagesist. Eine Sammlung von Bildern, die aus dem Dokument extrahiert wurden, einschließlich locationMetadata gegebenenfalls.

Beispieldefinition für den Markdown-Ausgabemodus

{
  "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" 
        }
      ]
    }
  ]
}

Beispielausgabe für markdown-Ausgabemodus

{
  "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,
    } 
  ] 
}

Der Wert der markdownHeaderDepth Steuerelemente steuert die Anzahl der Schlüssel im Wörterbuch "Abschnitte". In der Beispielfähigkeitsdefinition gibt es drei markdownHeaderDepth Schlüssel im Wörterbuch "Abschnitte": h1, h2, h3.

Beispiel für textausgabemodus und Bild- und Metadatenextraktion

In diesem Beispiel wird veranschaulicht, wie Textinhalte in Blöcken fester Größe ausgegeben und Bilder zusammen mit Positionsmetadaten aus dem Dokument extrahiert werden.

Beispieldefinition für textausgabemodus und Bild- und Metadatenextraktion

{
  "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" 
        } 
      ]
    }
  ]
}

Beispielausgabe für Textausgabemodus und Bild- und Metadatenextraktion

{
  "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": []
      },
      {
        "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": []
       }
    ],
    "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}]]"
            } 
        }
    ] 
}

Beachten Sie, dass die “sections” obige Beispielausgabe leer angezeigt wird. Um sie aufzufüllen, müssen Sie eine zusätzliche Fähigkeit hinzufügen, die mit outputFormat der Einstellung konfiguriert ist, um markdownsicherzustellen, dass die Abschnitte ordnungsgemäß ausgefüllt sind.

Die Fähigkeit verwendet Azure Document Intelligence zum Berechnen von locationMetadata. Ausführliche Informationen dazu, wie Seiten und umgebende Polygonkoordinaten definiert werden, finden Sie im Azure Document Intelligence-Layoutmodell .

Dies imagePath stellt den relativen Pfad eines gespeicherten Bilds dar. Wenn die Wissensspeicherdateiprojektion im Skillset konfiguriert ist, entspricht dieser Pfad dem relativen Pfad des im Wissensspeicher gespeicherten Bilds.

Siehe auch