Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.
A competência Document Layout utiliza o modelo layout da Azure Document Intelligence no Foundry Tools para analisar um documento, detetar a sua estrutura e características, e produzir uma representação sintática em formato Markdown ou texto. Esta competência suporta a extração de texto e imagem, esta última incluindo metadados de localização que preservam a posição da imagem dentro de um documento. A proximidade da imagem a conteúdos relacionados é benéfica em cenários de geração aumentada por recuperação (RAG) e pesquisa multimodal .
Para transações que ultrapassem 20 documentos por indexador por dia, esta competência exige que anexe um recurso faturável Microsoft Foundry ao seu conjunto de competências. A execução das competências integradas é cobrada ao preço padrão existente da Foundry Tools.
Este artigo é a documentação de referência para a competência Layout de Documentos. Para informações de utilização, veja Como dividir e vetorizar por layout de documento.
Tip
É comum usar esta competência em conteúdos com estrutura e imagens, como PDFs. O tutorial Multimodal demonstra a verbalização de imagens com duas estratégias diferentes de fragmentação de dados.
Limitações
Esta competência tem as seguintes limitações:
A competência não é adequada para documentos grandes que exijam mais de cinco minutos de processamento no modelo de layout do Azure Document Intelligence. A competência expira, mas as cobranças continuam a aplicar-se ao recurso da Foundry se estiver associado ao conjunto de competências para efeitos de faturação. Garantir que os documentos são otimizados para se manterem dentro dos limites de processamento e evitar custos desnecessários.
Como esta competência chama o modelo de layout Azure Document Intelligence, todos os comportamentos documentados service para diferentes tipos de documentos para diferentes tipos de ficheiros aplicam-se à sua saída. Por exemplo, ficheiros Word (DOCX) e PDF podem produzir resultados diferentes devido a diferenças na forma como as imagens são tratadas. Se for necessário um comportamento consistente das imagens entre DOCX e PDF, considere converter documentos para PDF ou rever a documentação de pesquisa multimodal para abordagens alternativas.
Regiões suportadas
A competência Layout de Documentos chama a v4.0 (2024-11-30) da API REST Azure Document Intelligence REST.
As regiões suportadas variam consoante a modalidade e a forma como a competência se liga ao modelo de layout do Azure Document Intelligence. Atualmente, a versão implementada do modelo de layout não suporta regiões 21Vianet .
| Approach | Requisito |
|---|---|
| Assistente de importação de dados | Crie um serviço Pesquisa de IA do Azure e Azure conta multi-serviço de IA numa das seguintes regiões: Leste dos EUA, Europa Ocidental 2 ou Norte Central dos EUA. |
| Programático, usando uma chave de recurso Foundry Microsoft Foundry para faturação | Crie um serviço Pesquisa de IA do Azure e um recurso Microsoft Foundry na mesma região. A região deve suportar tanto Pesquisa de IA do Azure como Azure Inteligência de Documentos. |
| Programático, utilizando autenticação Microsoft Entra ID para faturação | Não há necessidade de ter a mesma região. Crie um serviço Pesquisa de IA do Azure e Microsoft recurso Foundry em qualquer região onde cada serviço esteja disponível. |
Formatos de ficheiro suportados
Esta competência reconhece os seguintes formatos de ficheiro:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Idiomas suportados
Para texto impresso, veja Azure Linguagem suportada pelo modelo de layout Document Intelligence.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Limites de dados
- Para PDF e TIFF, podem ser processadas até 2.000 páginas (com uma subscrição gratuita, apenas as duas primeiras páginas são processadas).
- Mesmo que o tamanho do ficheiro para análise de documentos seja de 500 MB para Azure Document Intelligence paid (S0) tier e 4 MB para Azure Document Intelligence free (F0) tier, a indexação está sujeita aos indexer do teu nível de serviço de pesquisa.
- As dimensões da imagem devem ser entre 50 pixels x 50 pixels ou 10.000 pixels x 10.000 pixels.
- Se os seus PDFs estiverem bloqueados por palavra-passe, remova o bloqueio antes de executar o indexador.
Parâmetros de habilidade
Os parâmetros são distinguíveis de maiúsculas minúsculas.
| Nome do parâmetro | Valores permitidos | Description |
|---|---|---|
outputMode |
oneToMany |
Controla a cardinalidade da saída produzida pela habilidade. |
markdownHeaderDepth |
h1, h2, h3, h4, h5, ( h6 padrão) |
Só se aplica se outputFormat estiver definido como markdown. Este parâmetro descreve o nível de aninhamento mais profundo que deve ser considerado. Por exemplo, se markdownHeaderDepth for h3, quaisquer secções mais profundas, como h4, são roladas em h3. |
outputFormat |
markdown (padrão), text |
Controla o formato da saída gerada pela competência. |
extractionOptions |
["images"], ["images", "locationMetadata"], ["locationMetadata"] |
Identifique qualquer conteúdo extra extraído do documento. Defina um array de enums que correspondam ao conteúdo a ser incluído na saída. Por exemplo, se extractionOptions for ["images", "locationMetadata"], a saída inclui imagens e metadados de localização que fornecem informação de localização de página relacionada com o local onde o conteúdo foi extraído, como um número de página ou secção. Este parâmetro aplica-se a ambos os formatos de saída. |
chunkingProperties |
Veja a tabela seguinte. | Só se aplica se outputFormat estiver definido como text. Opções que encapsulam como fragmentar conteúdo de texto enquanto recalculam outros metadados. |
chunkingProperties Parâmetro |
Valores permitidos | Description |
|---|---|---|
unit |
characters |
Controla a cardinalidade da unidade chunk. O comprimento do bloco é medido em caracteres, em vez de palavras ou fichas. |
maximumLength |
Um inteiro entre 300 e 50000. | O comprimento máximo do bloco em caracteres medido por String.Length. |
overlapLength |
Um inteiro menor que metade de maximumLength. |
O comprimento de sobreposição fornecido entre dois blocos de texto. |
Entradas de habilidades
| Nome de entrada | Description |
|---|---|
file_data |
O ficheiro de onde o conteúdo deve ser extraído. |
A entrada "file_data" deve ser um objeto definido como:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
Alternativamente, pode ser definido como:
{
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}
O objeto de referência do ficheiro pode ser gerado de uma das seguintes formas:
Definir o
allowSkillsetToReadFileDataparâmetro na definição do teu indexador para verdadeiro. Esta definição cria um caminho/document/file_dataque representa os dados originais do ficheiro descarregados da sua fonte de dados do blob. Este parâmetro aplica-se apenas a ficheiros no armazenamento Azure Blob.allowSkillsetToReadFileDatatorna os dados do ficheiro descarregados disponíveis para a competência. Não aumenta os limites do blob indexer nem os limites de Inteligência de Documentos descritos em Limites de dados.Ter uma habilidade personalizada que retorna uma definição de objeto JSON que fornece
$type,data, ouurlesastoken. O$typeparâmetro deve ser definido parafile, edatadeve ser o array de bytes codificado base de 64 bytes do conteúdo do ficheiro. Ourlparâmetro deve ser uma URL válida com acesso para descarregar o ficheiro nesse local.
Resultados em termos de competências
| Nome do resultado | Description |
|---|---|
markdown_document |
Só se aplica se outputFormat estiver definido como markdown. Uma coleção de objetos "secções", que representam cada secção individual no documento Markdown. |
text_sections |
Só se aplica se outputFormat estiver definido como text. Uma coleção de objetos de blocos de texto, que representam o texto dentro dos limites de uma página (tendo em conta quaisquer blocos adicionais configurados), incluindo quaisquer cabeçalhos de secção em si. O objeto bloco de texto inclui, locationMetadata se aplicável. |
normalized_images |
Só se aplica se outputFormat for definido como text e extractionOptions incluir images. Uma coleção de imagens extraídas do documento, incluindo locationMetadata , se aplicável. |
Definição de exemplo para o modo de saída 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"
}
]
}
]
}
Saída de amostra para o modo de saída com 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,
}
]
}
O valor do markdownHeaderDepth controla o número de chaves no dicionário de "secções". Na definição de habilidade de exemplo, como o markdownHeaderDepth é "h3", existem três chaves no dicionário de "secções": h1, h2, h3.
Exemplo para modo de saída de texto e extração de imagem e metadados
Este exemplo demonstra como produzir conteúdo de texto em blocos de tamanho fixo e extrair imagens juntamente com metadados de localização do documento.
Definição de exemplo para modo de saída de texto e extração de imagem e metadados
{
"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"
}
]
}
]
}
Saída de exemplo para modo de saída de texto e extração de imagem e metadados
{
"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}]]"
}
}
]
}
Note que os “sections” na saída de exemplo acima aparecem vazios. Para os preencher, terá de adicionar uma habilidade adicional configurada com outputFormat conjunto para markdowngarantir que as secções estão devidamente preenchidas.
A competência utiliza Azure Inteligência de Documentos para calcular Metadados de localização. Consulte Azure Document Intelligence layout model para detalhes sobre como as páginas e as coordenadas de polígonos delimitadoras são definidas.
O imagePath representa o caminho relativo de uma imagem armazenada. Se a projeção do ficheiro do armazenamento de conhecimento estiver configurada no conjunto de habilidades, este caminho corresponde ao caminho relativo da imagem armazenada no armazenamento de conhecimento.