Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
Búsqueda de Azure AI está disponible a través del portal de Azure, las API REST y los SDK de Azure. También respalda Foundry IQ, la capa de conocimiento administrada que transforma el contenido empresarial en bases de conocimiento reutilizables y compatibles con permisos para agentes en el portal de Microsoft Foundry.
La habilidad Document Layout utiliza el modelo layout de Azure Document Intelligence en Foundry Tools para analizar un documento, detectar su estructura y características, y producir una representación sintáctica en formato Markdown o texto. Esta habilidad soporta la extracción de texto e imágenes, esta última incluye metadatos de ubicación que preservan la posición de la imagen dentro de un documento. La proximidad de imágenes a contenido relacionado es beneficiosa en escenarios de generación aumentada por recuperación (RAG) y búsqueda multimodal .
Para transacciones que superen los 20 documentos por indexador al día, esta habilidad requiere que adjuntes un recurso facturable de Microsoft Foundry a tu conjunto de habilidades. La ejecución de las habilidades integradas se cobra al precio estándar actual de Foundry Tools.
Este artículo es la documentación de referencia para la habilidad de Diseño de Documentos. Para información sobre el uso, consulta Cómo fragmentar y vectorizar por diseño de documento.
Tip
Es habitual usar esta habilidad en contenido con estructura e imágenes, como PDFs. El tutorial multimodal demuestra la verbalización de imágenes con dos estrategias diferentes de fragmentación de datos.
Limitaciones
Esta habilidad tiene las siguientes limitaciones:
La habilidad no es adecuada para documentos grandes que requieren más de cinco minutos de procesamiento en el modelo de diseño de Azure Document Intelligence. La habilidad expira, pero los cargos siguen aplicándose al recurso de Foundry si está vinculado a la habilidad para fines de facturación. Asegúrate de que los documentos estén optimizados para mantenerse dentro de los límites de procesamiento y evitar costes innecesarios.
Como esta habilidad llama al modelo de diseño Azure Document Intelligence, todos los comportamientos documentados service para diferentes tipos de documentos para distintos tipos de archivo se aplican a su resultado. Por ejemplo, los archivos Word (DOCX) y PDF pueden producir resultados diferentes debido a diferencias en la forma en que se gestionan las imágenes. Si se requiere un comportamiento consistente de las imágenes entre DOCX y PDF, considera convertir documentos a PDF o revisar la documentación de búsqueda multimodal para encontrar enfoques alternativos.
Regiones soportadas
La habilidad Layout de Documentos llama a la v4.0 (30-11-2024) de la API REST de Inteligencia de Documentos Azure .
Las regiones soportadas varían según la modalidad y cómo la habilidad se conecta con el modelo de diseño de Azure Document Intelligence. Actualmente, la versión implementada del modelo de diseño no soporta regiones 21Vianet .
| Enfoque | Requisito |
|---|---|
| Asistente de importación de datos | Crea un servicio Búsqueda de Azure AI y Azure cuenta multiservicio de IA en una de las siguientes regiones: Este de EE. UU., Europa Occidental 2 o Norte Central de EE. UU. |
| Programático, usando una clave de recurso Microsoft Foundry para facturación | Crea un servicio de Búsqueda de Azure AI y un recurso de Microsoft Foundry en la misma región. La región debe apoyar tanto Búsqueda de Azure AI como Azure Inteligencia Documental. |
| Mediante programación, mediante la autenticación de Microsoft Entra ID para la facturación | No hay requisito de la misma región. Crear un servicio Búsqueda de Azure AI y Microsoft recurso de Foundry en cualquier región donde esté disponible cada servicio. |
Formatos de archivo compatibles
Esta habilidad reconoce los siguientes formatos de archivo:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Idiomas compatibles
Para texto impreso, véase Azure Lenguaje compatible con el modelo de diseño de inteligencia documental.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Límites de datos
- Para PDF y TIFF, se pueden procesar hasta 2000 páginas (con una suscripción de nivel gratis, solo se procesan las dos primeras páginas).
- Incluso si el tamaño del archivo para analizar documentos es de 500 MB para Azure nivel pagado de Inteligencia de Documentos (S0) y 4 MB para Azure nivel libre de Inteligencia de Documentos (F0), la indexación está sujeta a los límites de indexador de tu nivel de servicio de búsqueda.
- Las dimensiones de la imagen deben estar entre 50 píxeles x 50 píxeles o 10.000 píxeles x 10.000 píxeles.
- Si tus PDFs están bloqueados con contraseña, elimina el bloqueo antes de ejecutar el indexador.
Parámetros de aptitud
Los parámetros son sensibles a mayúsculas y mayúsculas.
| Nombre del parámetro | Valores permitidos | Descripción |
|---|---|---|
outputMode |
oneToMany |
Controla la cardinalidad de la salida producida por la habilidad. |
markdownHeaderDepth |
h1, h2, h3, h4, h5, ( h6 por defecto) |
Solo se aplica si outputFormat está establecido en markdown. Este parámetro describe el nivel de anidamiento más profundo que debe considerarse. Por ejemplo, si markdownHeaderDepth es h3, cualquier sección que sea más profunda, como h4, se enrolla en h3. |
outputFormat |
markdown (por defecto), text |
Controla el formato de la salida generada por la habilidad. |
extractionOptions |
["images"], , ["images", "locationMetadata"], ["locationMetadata"] |
Identifica cualquier contenido extra extraído del documento. Define un array de enums que corresponden al contenido que se va a incluir en la salida. Por ejemplo, si extractionOptions es ["images", "locationMetadata"], la salida incluye imágenes y metadatos de ubicación que proporcionan información de ubicación de página relacionada con el lugar donde se extrajo el contenido, como un número de página o una sección. Este parámetro se aplica a ambos formatos de salida. |
chunkingProperties |
Véase la siguiente tabla. | Solo se aplica si outputFormat está establecido en text. Opciones que encapsulan cómo fragmentar contenido de texto mientras recalculan otros metadatos. |
chunkingProperties Parámetro |
Valores permitidos | Descripción |
|---|---|---|
unit |
characters |
Controla la cardinalidad de la unidad chunk. La longitud del fragmento se mide en caracteres, en lugar de palabras o fichas. |
maximumLength |
Un entero entre 300 y 50000. | La longitud máxima del fragmento en caracteres medida por String.Length. |
overlapLength |
Un entero menor que la mitad de maximumLength. |
La longitud de solapamiento proporcionada entre dos fragmentos de texto. |
Entradas de habilidades
| Nombre de entrada | Descripción |
|---|---|
file_data |
El archivo del que se debe extraer el contenido. |
La entrada "file_data" debe ser un objeto definido como:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
Alternativamente, puede definirse 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"
}
El objeto de referencia de archivo puede generarse de una de las siguientes maneras:
Establecer el
allowSkillsetToReadFileDataparámetro en la definición de tu indexador como verdadero. Esta configuración crea una ruta/document/file_dataque representa los datos originales del archivo descargados de tu fuente de datos blob. Este parámetro solo se aplica a archivos en almacenamiento de Azure Blob.allowSkillsetToReadFileDatahace que los datos de archivo descargados estén disponibles para la aptitud. No aumenta los límites del indexador de blobs ni los límites de Document Intelligence descritos en Límites de datos.Tener una habilidad personalizada que devuelva una definición de objeto JSON que proporcione
$type,data, ourlysastoken. El$typeparámetro debe establecerse enfile, ydatadebe ser el array de bytes codificado en base de 64 del contenido del archivo. Elurlparámetro debe ser una URL válida con acceso para descargar el archivo en esa ubicación.
Resultados de habilidades
| Nombre de salida | Descripción |
|---|---|
markdown_document |
Solo se aplica si outputFormat está establecido en markdown. Una colección de objetos "secciones", que representan cada sección individual del documento Markdown. |
text_sections |
Solo se aplica si outputFormat está establecido en text. Una colección de objetos de fragmentos de texto, que representan el texto dentro de los límites de una página (teniendo en cuenta cualquier configuración adicional de fragmentos), incluyendo cualquier encabezado de sección en sí. El objeto de fragmento de texto incluye locationMetadata si corresponde. |
normalized_images |
Solo se aplica si outputFormat está establecido en text e extractionOptions incluye images. Una colección de imágenes extraídas del documento, incluyendo locationMetadata si correspondía. |
Definición de ejemplo para el modo de salida con 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"
}
]
}
]
}
Salida de muestra para el modo de salida con 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,
}
]
}
El valor de la markdownHeaderDepth determina el número de claves en el diccionario de "secciones". En la definición de habilidad de ejemplo, dado que es markdownHeaderDepth "h3", hay tres claves en el diccionario de "secciones": h1, h2, h3.
Ejemplo para el modo de salida de texto y la extracción de imágenes y metadatos
Este ejemplo demuestra cómo generar contenido de texto en bloques de tamaño fijo y extraer imágenes junto con metadatos de ubicación del documento.
Definición de ejemplo para el modo de salida de texto y extracción de imágenes y metadatos
{
"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"
}
]
}
]
}
Salida de ejemplo para el modo de salida de texto y extracción de imágenes y metadatos
{
"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}]]"
}
}
]
}
Ten en cuenta que los “sections” de la salida de muestra anteriores aparecen en blanco. Para llenarlas, tendrás que añadir una habilidad adicional configurada con outputFormat set para markdownasegurarte de que las secciones estén correctamente llenas.
La habilidad utiliza Azure Document Intelligence para calcular los metadatos de ubicación. Consulte el modelo de diseño de inteligencia documental Azure para detalles sobre cómo se definen las páginas y las coordenadas de polígonos delimitadoras.
El imagePath representa el camino relativo de una imagen almacenada. Si la proyección del archivo del almacén de conocimiento está configurada en el conjunto de habilidades, esta ruta coincide con la ruta relativa de la imagen almacenada en el almacén de conocimientos.