Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Pesquisa de IA do Azure está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.
A habilidade Layout de Documentos utiliza o modelo layout da Azure Document Intelligence no Foundry Tools para analisar um documento, detectar sua estrutura e características, e produzir uma representação sintática em formato Markdown ou texto. Essa habilidade suporta extração de texto e imagem, sendo esta última que inclui metadados de localização que preservam a posição da imagem dentro de um documento. A proximidade da imagem com conteúdo relacionado é benéfica em cenários de geração aumentada por recuperação (RAG) e busca multimodal .
Para transações que ultrapassam 20 documentos por indexador por dia, essa habilidade exige que você anexe um recurso faturável Microsoft Foundry ao seu conjunto de habilidades. A execução das habilidades integradas é cobrada pelo preço padrão existente da Foundry Tools.
Este artigo é a documentação de referência para a habilidade de Layout de Documentos. Para informações de uso, veja Como dividir e vetorizar por layout de documento.
Dica
É comum usar essa habilidade em conteúdos estruturados e imagens, como PDFs. O tutorial Multimodal demonstra verbalização de imagens com duas estratégias diferentes de fragmentação de dados.
Limitações
Essa habilidade tem as seguintes limitações:
A habilidade não é adequada para documentos grandes que exigem mais de cinco minutos de processamento no modelo de layout do Azure Document Intelligence. A habilidade expira, mas as cobranças ainda se aplicam ao recurso da Foundry se ele estiver vinculado ao conjunto de habilidades para fins de faturamento. Garanta que os documentos estejam otimizados para permanecer dentro dos limites de processamento e evitar custos desnecessários.
Como essa habilidade chama o modelo de layout Azure Document Intelligence, todos os comportamentos documentados service para diferentes tipos de documentos para diferentes tipos de arquivos se aplicam à sua saída. Por exemplo, arquivos Word (DOCX) e PDF podem produzir resultados diferentes devido a diferenças na forma como as imagens são tratadas. Se for necessário comportamento consistente de imagem entre DOCX e PDF, considere converter documentos para PDF ou revisar a documentação de busca multimodal para abordagens alternativas.
Regiões com suporte
A habilidade Document Layout calls v4.0 (2024-11-30) da API REST Azure Document Intelligence REST.
As regiões suportadas variam conforme a modalidade e como a habilidade se conecta ao modelo de layout do Azure Document Intelligence. Atualmente, a versão implementada do modelo de layout não suporta regiões 21Vianet .
| Abordagem | Requisito |
|---|---|
| Assistente de importação de dados | Crie um serviço Pesquisa de IA do Azure e Azure conta multiserviço de IA em uma das seguintes regiões: Leste dos EUA, Europa Ocidental 2 ou Centro-Norte dos EUA. |
| Programático, usando uma chave de recurso Foundry Microsoft para faturamento | 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 quanto Azure Inteligência de Documentos. |
| Programático, usando Microsoft Entra ID autenticação para cobrança | 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 arquivo suportados
Esta habilidade reconhece os seguintes formatos de arquivo:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Idiomas com suporte
Para texto impresso, veja Azure Linguagem suportada pelo modelo de layout de inteligência documental.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Limites de dados
- Para PDF e TIFF, até 2.000 páginas podem ser processadas (com uma assinatura de camada gratuita, apenas as duas primeiras páginas são processadas).
- Mesmo que o tamanho do arquivo para análise de documentos seja 500 MB para Azure nível pago de Inteligência de Documentos (S0 e 4 MB para Azure Inteligência de Documentos livre (F0) de nível, a indexação está sujeita aos limites indexador do seu nível de serviço de busca.
- As dimensões da imagem devem estar entre 50 pixels x 50 pixels ou 10.000 pixels x 10.000 pixels.
- Se seus PDFs estiverem bloqueados por senha, remova o bloqueio antes de rodar o indexador.
Parâmetros de habilidade
Os parâmetros são sensíveis a maiúsculas minúsculas.
| Nome do parâmetro | Valores permitidos | Descrição |
|---|---|---|
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 for definido como markdown. Esse parâmetro descreve o nível de aninhamento mais profundo que deve ser considerado. Por exemplo, se markdownHeaderDepth é , quaisquer seções que sejam mais profundas, como h3, são roladas em h4h3. |
outputFormat |
markdown (padrão), text |
Controla o formato da saída gerada pela habilidade. |
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ções de localização de página relacionadas ao local onde o conteúdo foi extraído, como um número de página ou seção. Esse parâmetro se aplica a ambos os formatos de saída. |
chunkingProperties |
Veja a tabela a seguir. | Só se aplica se outputFormat for definido como text. Opções que encapsulam como fragmentar o conteúdo do texto enquanto recalculam outros metadados. |
chunkingProperties Parâmetro |
Valores permitidos | Descrição |
|---|---|---|
unit |
characters |
Controle 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 conforme medido por String.Length. |
overlapLength |
Um inteiro menor que metade de maximumLength. |
O comprimento da sobreposição fornecido entre dois blocos de texto. |
Entradas de competências
| Nome do campo de entrada | Descrição |
|---|---|
file_data |
O arquivo do qual 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 de arquivo pode ser gerado de uma das seguintes maneiras:
Definir o
allowSkillsetToReadFileDataparâmetro na definição do seu indexador como verdadeiro. Essa configuração cria um caminho/document/file_dataque representa os dados originais do arquivo baixados da sua fonte de dados do blob. Esse parâmetro se aplica apenas a arquivos no armazenamento Azure Blob.allowSkillsetToReadFileDatadisponibiliza os dados de arquivo baixados para a habilidade. Ele não aumenta os limites do indexador de blob ou os limites de Inteligência de Documento descritos nos 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 comofile, edatadeve ser o array base codificado de 64 bytes do conteúdo do arquivo. Ourlparâmetro deve ser uma URL válida com acesso para baixar o arquivo naquele local.
Resultados de competências
| Nome do resultado | Descrição |
|---|---|
markdown_document |
Só se aplica se outputFormat for definido como markdown. Uma coleção de objetos "seções", que representam cada seção individual do documento Markdown. |
text_sections |
Só se aplica se outputFormat for definido como text. Uma coleção de objetos de blocos de texto, que representam o texto dentro dos limites de uma página (considerando qualquer configuração adicional de chunks), incluindo quaisquer cabeçalhos de seção em si. O objeto de 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 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 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 controle o número de chaves no dicionário de "seções". Na definição de habilidade de exemplo, como o markdownHeaderDepth é "h3", há três chaves no dicionário de "seções": h1, h2, h3.
Exemplo para modo de saída de texto e extração de imagem e metadados
Este exemplo demonstra como exportar conteúdo de texto em blocos de tamanho fixo e extrair imagens junto 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 em branco. Para preenchê-las, você precisará adicionar uma habilidade adicional configurada com outputFormat conjunto para markdowngarantir que as seções estejam devidamente preenchidas.
A habilidade usa Azure Inteligência de Documentos para calcular os 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 arquivo do armazenamento de conhecimento estiver configurada no conjunto de habilidades, esse caminho corresponde ao caminho relativo da imagem armazenada no armazenamento de conhecimento.