Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Fähigkeit Document Layout verwendet das Layout-Modell aus Azure Document Intelligence in Foundry Tools, um ein Dokument zu analysieren, seine Struktur und Eigenschaften zu erkennen und eine syntaktische Darstellung im Markdown- oder Textformat zu erzeugen. Diese Fähigkeit unterstützt Text- und Bildextraktion, wobei letztere Standortmetadaten enthalten, die die Bildposition innerhalb eines Dokuments erhalten. Die Nähe von Bildern zu verwandten Inhalten ist in Retrieval-Augmented Generation (RAG)- und multimodalen Suchszenarien von Vorteil.
Für Transaktionen, die pro Indexer pro Tag 20 Dokumente übersteigen, erfordert diese Fähigkeit, dass Sie eine abrechenbare Microsoft Foundry-Ressource Ihrem Skillset hinzufügen. Die Ausführung der eingebauten Fähigkeiten wird zum bestehenden Standard von Foundry Tools berechnet.
Dieser Artikel ist die Referenzdokumentation für die Dokumentenlayout-Fertigkeit. Für Nutzungsinformationen siehe How to chunk and vectorizing by document layout.
Tip
Es ist üblich, diese Fähigkeit bei Inhalten mit Struktur und Bildern wie PDFs anzuwenden. Das Multimodale Tutorial demonstriert die Bildverbalisierung mit zwei verschiedenen Strategien zum Daten-Chunking.
Einschränkungen
Diese Fähigkeit hat folgende Einschränkungen:
Die Fähigkeit eignet sich nicht für große Dokumente, die mehr als fünf Minuten Verarbeitung im Azure Document Intelligence Layout-Modell erfordern. Die Fertigkeit läuft ab, aber es werden weiterhin Gebühren für die Foundry-Ressource erhoben, wenn sie für Abrechnungszwecke mit dem Skillset verbunden ist. Stellen Sie sicher, dass Dokumente so optimiert werden, dass sie innerhalb der Bearbeitungsgrenzen bleiben, um unnötige Kosten zu vermeiden.
Da diese Fähigkeit das Azure Document Intelligence Layout-Modell aufruft, gelten alle dokumentierten Service-Verhaltensweisen für verschiedene Dokumenttypen für unterschiedliche Dateitypen auf die Ausgabe. Zum Beispiel können Word (DOCX) und PDF-Dateien aufgrund unterschiedlicher Bildverarbeitung unterschiedliche Ergebnisse liefern. Wenn ein einheitliches Bildverhalten zwischen DOCX und PDF erforderlich ist, sollten Sie in Erwägung ziehen, Dokumente in PDF zu konvertieren oder die multimodale Suchdokumentation auf alternative Ansätze zu prüfen.
Unterstützte Regionen
Die Document Layout Skill ruft v4.0 (2024-11-30) der Azure Document Intelligence REST API auf.
Unterstützte Regionen variieren je nach Modalität und wie die Fähigkeit mit dem Azure Document Intelligence Layout-Modell verbunden ist. Derzeit unterstützt die implementierte Version des Layout-Modells keine 21Vianet-Regionen .
| Vorgehensweise | Anforderung |
|---|---|
| Datenimport-Wizard | Erstelle einen Azure KI-Suche-Service und Azure KI-Multi-Service-Konto in einer der folgenden Regionen: Ost-USA, Westeuropa 2 oder Nord-Zentral-USA. |
| Programmatisch, mit einem Microsoft Foundry Resource Key für die Abrechnung | Erstellen Sie einen Azure KI-Suche-Dienst und eine Microsoft Foundry-Ressource in derselben Region. Die Region muss sowohl Azure KI-Suche als auch Azure Document Intelligence unterstützen. |
| Programmatisch, mit Microsoft Entra ID Authentifizierung (Vorschau) für die Abrechnung | Keine Anforderung für dieselbe Region. Erstellen Sie einen Azure KI-Suche Service und Microsoft Foundry-Ressource in jeder Region, in der jeder Service verfügbar ist. |
Unterstützte Dateiformate
Diese Fähigkeit erkennt die folgenden Dateiformate:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Unterstützte Sprachen
Für gedruckten Text siehe Azure Document Intelligence Layout Model unterstützte Sprachen.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Datenlimits
- Für PDF und TIFF können bis zu 2.000 Seiten verarbeitet werden (mit einem kostenlosen Abonnement werden nur die ersten beiden Seiten verarbeitet).
- Selbst wenn die Dateigröße zur Dokumentenanalyse 500 MB für Azure Document Intelligence Paid (S0)-Stufe und 4 MB für Azure Document Intelligence Free (F0)-Stufe beträgt, unterliegt die Indexierung den Indexer-Grenzen Ihrer Suchdienst-Schicht.
- Die Bildmaße müssen zwischen 50 x 50 Pixel oder 10.000 x 10.000 Pixel liegen.
- Wenn Ihre PDFs passwortgesperrt sind, entfernen Sie die Sperre, bevor Sie den Indexer ausführen.
Qualifikationsparameter
Die Parameter sind groß- und kleinschreibungssensitiv.
| Parametername | Zulässige Werte | Beschreibung |
|---|---|---|
outputMode |
oneToMany |
Kontrolliert die Kardinalität des von der Fähigkeit erzeugten Outputs. |
markdownHeaderDepth |
h1, h2, h3, h4, , h5, ( h6 Standard) |
gilt nur, wenn outputFormat auf markdowngesetzt ist. Dieser Parameter beschreibt das tiefste Verschachtelungsniveau, das berücksichtigt werden sollte. Zum Beispiel, wenn markdownHeaderDepth , h3werden alle tieferen Abschnitte, wie , h4in gerollt h3. |
outputFormat |
markdown (Standard), text |
Kontrolliert das Format der von der Fähigkeit generierten Ausgaben. |
extractionOptions |
["images"], ["images", "locationMetadata"]["locationMetadata"] |
Identifizieren Sie alle zusätzlichen Inhalte, die aus dem Dokument extrahiert wurden. Definieren Sie ein Array von Enums, die dem Inhalt entsprechen, der in die Ausgabe aufgenommen werden soll. Zum Beispiel, wenn extractionOptions , ["images", "locationMetadata"]enthält die Ausgabe Bilder und Standortmetadaten, die Seitenstandortinformationen liefern, die sich darauf beziehen, wo der Inhalt extrahiert wurde, wie z. B. eine Seitenzahl oder einen Abschnitt. Dieser Parameter gilt für beide Ausgabeformate. |
chunkingProperties |
Siehe folgende Tabelle. | gilt nur, wenn outputFormat auf textgesetzt ist. Optionen, die zusammenfassen, wie Textinhalte gehackt werden können, während andere Metadaten neu berechnet werden. |
chunkingProperties Parameter |
Zulässige Werte | Beschreibung |
|---|---|---|
unit |
characters |
Kontrolliert die Kardinalität der Chunk-Einheit. Die Chunk-Länge wird in Zeichen gemessen, im Gegensatz zu Wörtern oder Tokens. |
maximumLength |
Eine ganze Zahl zwischen 300 und 50.000. | Die maximale Chunk-Länge in Zeichen, gemessen durch String.Length. |
overlapLength |
Eine ganze Zahl weniger als die Hälfte von maximumLength. |
Die Überlappungslänge zwischen zwei Textabschnitten. |
Qualifikationseingaben
| Eingabename | Beschreibung |
|---|---|
file_data |
Die Datei, aus der dieser Inhalt extrahiert werden sollte. |
Die "file_data"-Eingabe muss ein Objekt sein, das definiert ist als:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
Alternativ kann er definiert werden als:
{
"$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 Dateireferenzobjekt kann auf eine der folgenden Arten generiert werden:
Setzen Sie den Parameter
allowSkillsetToReadFileDatain Ihrer Indexer-Definition auf true. Diese Einstellung erstellt einen Pfad/document/file_data, der ein Objekt darstellt, das die ursprünglichen Dateidaten darstellt, die von deiner Blob-Datenquelle heruntergeladen wurden. Dieser Parameter gilt nur für Dateien in Azure Blob Storage.Eine benutzerdefinierte Fähigkeit zu haben, die eine JSON-Objektdefinition zurückgibt, die ,
$type, oderdataundurlliefertsastoken. Der Parameter$typemuss auffilegesetzt werden unddatamuss das Basis-64-codierte Byte-Array des Dateiinhalts sein. Der Parameterurlmuss eine gültige URL sein, die Zugang zum Herunterladen der Datei an diesem Ort bietet.
Skill-Ergebnisse
| Ausgabename | Beschreibung |
|---|---|
markdown_document |
gilt nur, wenn outputFormat auf markdowngesetzt ist. Eine Sammlung von "Abschnitten"-Objekten, die jeden einzelnen Abschnitt im Markdown-Dokument darstellen. |
text_sections |
gilt nur, wenn outputFormat auf textgesetzt ist. Eine Sammlung von Textchunk-Objekten, die den Text innerhalb der Grenzen einer Seite repräsentieren (unter Berücksichtigung weiterer konfigurierter Chunking), einschließlich aller Abschnittsüberschriften selbst. Das Textchunk-Objekt enthält locationMetadata , falls zutreffend. |
normalized_images |
gilt nur, wenn outputFormat gesetzt ist auf text und extractionOptions enthält images. Eine Sammlung von Bildern, die aus dem Dokument extrahiert wurden, einschließlich locationMetadata , falls zutreffend. |
Beispieldefinition für 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"
}
]
}
]
}
Sample-Ausgabe 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 von steuert markdownHeaderDepth die Anzahl der Schlüssel im "Abschnitt"-Wörterbuch. In der Beispiel-Fertigkeitsdefinition gibt es, da das markdownHeaderDepth "h3" ist, drei Schlüssel im "Abschnitts"-Wörterbuch: h1, h2, h3.
Beispiel für den Textausgabemodus sowie Bild- und Metadatenextraktion
Dieses Beispiel zeigt, wie man Textinhalte in festen Abschnitten ausgibt und Bilder zusammen mit Standortmetadaten aus dem Dokument extrahiert.
Beispieldefinition für Textausgabemodus sowie 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 sowie 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” oben im Beispielausgang leer erscheinen. Um sie zu befüllen, musst du eine zusätzliche Fähigkeit hinzufügen, die mit outputFormat Set to konfiguriert ist markdown, damit die Abschnitte richtig gefüllt sind.
Die Fähigkeit verwendet Azure Document Intelligence zur Berechnung von Standortmetadaten. Siehe Azure Document Intelligence Layout Model für Details zur Definition von Seiten und Begrenzungspolygonkoordinaten.
Die stellt imagePath den relativen Pfad eines gespeicherten Bildes dar. Wenn die Projektion der Knowledge Store-Datei im Skillset konfiguriert ist, entspricht dieser Pfad dem relativen Pfad des im Knowledge Store gespeicherten Bildes.