Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.
La competenza Document Layout utilizza il modello layout di Azure Document Intelligence in Foundry Tools per analizzare un documento, rilevarne la struttura e le caratteristiche, e produrre una rappresentazione sintattica in formato Markdown o testo. Questa abilità supporta l'estrazione di testo e immagini, quest'ultima include i metadati di posizione che preservano la posizione dell'immagine all'interno di un documento. La vicinanza delle immagini a contenuti correlati è vantaggiosa in scenari di ricerca con recupero aumentato (RAG) e multimodale .
Per transazioni che superano i 20 documenti per indicizzatore al giorno, questa abilità richiede di allegare una risorsa fatturabile Microsoft Foundry al tuo set di competenze. L'esecuzione delle competenze integrate è addebitata al prezzo Standard esistente di Foundry Tools.
Questo articolo è la documentazione di riferimento per la competenza Layout dei Documenti. Per informazioni sull'uso, vedi Come schunkare e vettorializzare per layout di documento.
Tip
È comune usare questa abilità su contenuti strutturati e immagini, come i PDF. Il tutorial Multimodale dimostra la verbalizzazione delle immagini con due diverse strategie di shunking dei dati.
Limitazioni
Questa abilità presenta le seguenti limitazioni:
Questa competenza non è adatta a documenti grandi che richiedono più di cinque minuti di elaborazione nel modello di layout di Azure Document Intelligence. La competenza scade in termini di tempo, ma i costi si applicano comunque alla risorsa della Foundry se è collegata al set di competenze per scopi di fatturazione. Assicurati che i documenti siano ottimizzati per rimanere entro i limiti di elaborazione e evitare costi inutili.
Poiché questa abilità chiama il modello di layout Azure Document Intelligence, tutti i comportamenti documentati service per diversi tipi di documento per diversi tipi di file si applicano al suo output. Ad esempio, i file Word (DOCX) e PDF possono produrre risultati diversi a causa delle differenze nel modo in cui vengono gestite le immagini. Se è necessario un comportamento coerente delle immagini tra DOCX e PDF, si consideri la conversione dei documenti in PDF o la revisione della documentazione di ricerca multimodale per approcci alternativi.
Regioni supportate
Le chiamate di abilità Layout Document v4.0 (30-11-2024) dell'API REST Azure Document Intelligence REST.
Le regioni supportate variano in base alla modalità e a come la competenza si collega al modello di layout di Azure Document Intelligence. Attualmente, la versione implementata del modello di layout non supporta le regioni 21Vianet .
| Avvicinarsi | Requisito |
|---|---|
| Assistente per importazione dati | Crea un servizio Azure AI Search e Azure account multi-servizio AI in una delle seguenti regioni: Est degli Stati Uniti, Europa Ovest 2 o Nord Centro degli Stati Uniti. |
| Programmatic, utilizzando una chiave di risorsa Foundry Microsoft per la fatturazione | Crea un servizio Azure AI Search e una risorsa Microsoft Foundry nella stessa regione. La regione deve supportare sia Azure AI Search sia Azure Document Intelligence. |
| A livello di codice, usando l'autenticazione Microsoft Entra ID per la fatturazione | Nessun requisito di coire la stessa regione. Crea un servizio Azure AI Search e Microsoft risorsa Foundry in qualsiasi regione in cui è disponibile ogni servizio. |
Formati file supportati
Questa abilità riconosce i seguenti formati di file:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Lingue disponibili
Per il testo stampato, vedi Azure Document Intelligence layout model supported languages.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Limiti dei dati
- Per PDF e TIFF, è possibile elaborare fino a 2.000 pagine (con una sottoscrizione di livello gratuito, vengono elaborate solo le prime due pagine).
- Anche se la dimensione del file per l'analisi dei documenti è di 500 MB per il livello a pagamento Azure Document Intelligence (S0) tier e 4 MB per il livello Azure Document Intelligence free (F0), l'indicizzazione è soggetta ai limiti indexer del tuo livello di servizio di ricerca.
- Le dimensioni dell'immagine devono essere comprese tra 50 pixel x 50 pixel oppure 10.000 pixel x 10.000 pixel.
- Se i tuoi PDF sono bloccati con password, rimuovi il blocco prima di eseguire l'indicizzatore.
Parametri della competenza
I parametri sono distinti dalla mazzela e minuscola.
| Nome del parametro | Valori consentiti | Description |
|---|---|---|
outputMode |
oneToMany |
Controlla la cardinalità dell'output prodotto dall'abilità. |
markdownHeaderDepth |
h1, h2, h3, h4, h5, ( h6 predefinito) |
Si applica solo se outputFormat è impostato a markdown. Questo parametro descrive il livello di annidamento più profondo da considerare. Ad esempio, se markdownHeaderDepth è h3, tutte le sezioni più profonde, come h4, vengono incorporate in h3. |
outputFormat |
markdown (predefinito), text |
Controlla il formato dell'output generato dalla competenza. |
extractionOptions |
["images"], ["images", "locationMetadata"], ["locationMetadata"] |
Identifica eventuali contenuti aggiuntivi estratti dal documento. Definire un array di enum che corrispondono al contenuto da includere nell'output. Ad esempio, se extractionOptions è ["images", "locationMetadata"], l'output include immagini e metadati di posizione che forniscono informazioni sulla posizione della pagina relative al luogo in cui il contenuto è stato estratto, come un numero di pagina o una sezione. Questo parametro si applica a entrambi i formati di output. |
chunkingProperties |
Vedi la tabella seguente. | Si applica solo se outputFormat è impostato a text. Opzioni che racchiudono come spargere contenuti testuali ricalcolando altri metadati. |
chunkingProperties parametro |
Valori consentiti | Description |
|---|---|---|
unit |
characters |
Controlla la cardinalità dell'unità chunk. La lunghezza del blocco si misura in caratteri, a differenza di parole o gettoni. |
maximumLength |
Un intero tra 300 e 50000. | La lunghezza massima del chunk in caratteri misurata da String.Length. |
overlapLength |
Un intero minore della metà di maximumLength. |
La lunghezza della sovrapposizione fornita tra due blocchi di testo. |
Input delle competenze
| Nome del campo di input | Description |
|---|---|
file_data |
Il file da cui il contenuto dovrebbe essere estratto. |
L'ingresso "file_data" deve essere un oggetto definito come:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
In alternativa, può essere definito come:
{
"$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'oggetto di riferimento file può essere generato in uno dei seguenti modi:
Impostare il
allowSkillsetToReadFileDataparametro sulla definizione del tuo indicizzatore su vero. Questa impostazione crea un percorso/document/file_datache rappresenta i dati originali del file scaricati dalla tua sorgente di dati blob. Questo parametro si applica solo ai file in Azure Blob storage.allowSkillsetToReadFileDatarende i dati dei file scaricati disponibili per la competenza. Non aumenta i limiti dell'indicizzatore BLOB o i limiti di Intelligence per i documenti descritti in Limiti dei dati.Avere una skill personalizzata che restituisce una definizione di oggetto JSON che fornisce
$type,data, oppureurlesastoken. Il parametro$typedeve essere impostato sufile, edatadeve essere l'array di byte codificato in base a 64 del contenuto del file. Ilurlparametro deve essere un URL valido con accesso per scaricare il file in quella posizione.
Output delle competenze
| Nome dell'output | Description |
|---|---|
markdown_document |
Si applica solo se outputFormat è impostato a markdown. Una raccolta di oggetti "sezioni", che rappresentano ogni singola sezione del documento Markdown. |
text_sections |
Si applica solo se outputFormat è impostato a text. Una raccolta di oggetti chunk di testo, che rappresentano il testo entro i limiti di una pagina (tenendo conto di eventuali ulteriori chunk configurati), inclusi eventuali titoli di sezione stessi. L'oggetto del blocco di testo include, locationMetadata se applicabile. |
normalized_images |
Si applica solo se outputFormat è impostato a text e extractionOptions include images. Una raccolta di immagini estratte dal documento, incluso locationMetadata , se applicabile. |
Definizione di esempio per la modalità di uscita 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"
}
]
}
]
}
Output campione per la modalità 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,
}
]
}
Il valore del markdownHeaderDepth dizionario controlla il numero di chiavi nel dizionario delle "sezioni". Nell'esempio di definizione di abilità, dato che il markdownHeaderDepth è "h3", ci sono tre chiavi nel dizionario "sezioni": h1, h2, h3.
Esempio per la modalità di output di testo e l'estrazione di immagini e metadati
Questo esempio dimostra come produrre contenuti testuali in blocchi di dimensioni fisse ed estrarre immagini insieme ai metadati di posizione dal documento.
Definizione di esempio per la modalità di output testuale e l'estrazione di immagini e metadati
{
"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"
}
]
}
]
}
Output campione per la modalità di output testo e per l'estrazione di immagini e metadati
{
"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}]]"
}
}
]
}
Si noti che i “sections” risultati nell'output campione sopra appaiono vuoti. Per popolarle, dovrai aggiungere un'abilità aggiuntiva configurata con outputFormat set per markdownassicurarti che le sezioni siano correttamente riempite.
La competenza utilizza Azure Document Intelligence per calcolare i metadati di località. Consulta Azure Document Intelligence layout model per dettagli su come vengono definite le pagine e le coordinate dei poligoni delimitanti.
Il imagePath rappresenta il percorso relativo di un'immagine memorizzata. Se la proiezione del file dello store della conoscenza è configurata nell'skill set, questo percorso corrisponde al percorso relativo dell'immagine memorizzata nello store della conoscenza.