Belge Düzeni becerisi

Note

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Belge Düzeni becerisi, bir belgeyi analiz etmek, yapısını ve özelliklerini tespit etmek ve Markdown veya metin formatında sentaktik bir temsil oluşturmak için Foundry Tools'taki Azure Document Intelligence'dan layout modeli kullanır. Bu yetenek, metin ve görüntü çıkarımı destekler; ikincisi, bir belgedeki görüntü konumunu koruyan konum meta verilerini içerir. İlgili içeriğe fotoğraf yakınlığı, geri alınan artırılmış üretim (RAG) ve çoklu modal arama senaryolarında faydalıdır.

Günde indeksleyici başına 20 belgeyi aşan işlemler için, bu beceri Foundry kaynağı ile faturalandırılabilir bir Microsoft kaynağı eklemenizi gerektirir. Yerleşik becerilerin uygulanması mevcut Foundry Tools Standard fiyatıyla ücretlendirilir.

Bu makale, Belge Düzeni becerisi için referans dokümantasyonudur. Kullanım bilgisi için, belge düzenine göre nasıl chunk ve vektörize edilir dizisine bakabilirsiniz.

Tip

Bu beceriyi, yapı ve görsellere sahip içeriklerde, örneğin PDF'lerde kullanmak yaygındır. Multimodal eğitim, iki farklı veri parçalama stratejisiyle görüntü sözlemesini gösterir.

Sınırlamalar

Bu becerinin aşağıdaki sınırlamaları vardır:

  • Bu beceri, Azure Document Intelligence düzen modelinde beş dakikadan fazla işlem gerektiren büyük belgeler için uygun değildir. Yetenek zaman doluyor, ancak faturalandırma amacıyla yetenek setine bağlıysa Foundry kaynağına yine de ücret uygulanıyor. Gereksiz maliyetlerden kaçınmak için belgelerin işlem sınırları içinde kalacak şekilde optimize edilmesinden emin olun.

  • Bu beceri Azure Document Intelligence düzen modelini çağırdığı için, farklı dosya tipleri için belgelenmiş tüm servis davranışları farklı dosya türleri için çıkarına uygulanır. Örneğin, Word (DOCX) ve PDF dosyaları, görsellerin işleniş şeklindeki farklılıklar nedeniyle farklı sonuçlar verebilir. DOCX ve PDF arasında tutarlı görüntü davranışı gerekiyorsa, belgeleri PDF'ye dönüştürmeyi veya alternatif yaklaşımlar için çoklu modal arama dokümantasyonunu incelemeyi düşünün.

Desteklenen bölgeler

Document Layout yeteneği, Azure Document Intelligence REST API'nin v4.0 (2024-11-30) sürümünü çağırır.

Desteklenen bölgeler, modaliteye ve becerinin Azure Document Intelligence düzen modeline nasıl bağlandığına göre değişiklik gösterir. Şu anda, uygulanan düzen modeli 21Vianet bölgelerini desteklemiyor.

Yaklaşım Requirement
Veri içe aktarma sihirbazı Aşağıdaki bölgelerden birinde bir Azure Yapay Zeka Arama hizmeti ve Azure yapay zeka çoklu hizmet hesabı oluşturun: Doğu ABD, Batı Avrupa 2 veya Kuzey Orta ABD.
Programatik, faturalama için Microsoft Foundry kaynak anahtarı kullanıyor Aynı bölgede Azure Yapay Zeka Arama hizmeti ve Microsoft Foundry kaynağı oluşturun. Bölge hem Azure Yapay Zeka Arama hem de Azure Belge İstihbarı'ı desteklemelidir.
Program aracılığıyla, faturalama için Microsoft Entra ID kimlik doğrulamasını kullanma Aynı bölge şartı yok. her hizmetin bulunduğu herhangi bir bölgede Azure Yapay Zeka Arama bir servis ve Microsoft Foundry kaynağı oluşturun.

Desteklenen dosya formatları

Bu beceri aşağıdaki dosya formatlarını tanır:

  • .PDF
  • . JPEG
  • .JPG
  • .PNG
  • .BMP
  • . TIFF
  • .DOCX
  • . XLSX
  • .PPTX
  • .HTML

Desteklenen diller

Basılı metin için bkz. Azure Document Intelligence layout model destekli diller.

@odata.type

Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill

Veri sınırları

Beceri parametreleri

Parametreler büyük/küçük harfe duyarlıdır.

Parametre adı İzin verilen değerler Description
outputMode oneToMany Becerinin ürettiği çıktının kardinalitesini kontrol eder.
markdownHeaderDepth h1, h2, h3, h4, h5, , ( h6 varsayılan) Yalnızca ayarlıysa outputFormat , markdowngeçerlidir. Bu parametre, dikkate alınması gereken en derin iç içe geçme seviyesini tanımlar. Örneğin, eğer markdownHeaderDepth ise h3, daha derin olan herhangi bir bölüm, örneğin h4, içine h3yuvarlanır.
outputFormat markdown (varsayılan), text Becerinin oluşturduğu çıktının formatını kontrol eder.
extractionOptions ["images"], ["images", "locationMetadata"], ["locationMetadata"] Belgeden çıkarılan ekstra içeriği tespit edin. Çıktıya dahil edilecek içeriğe karşılık gelen bir enum dizisi tanımlayın. Örneğin, eğer extractionOptions ise ["images", "locationMetadata"], çıktı, içeriğin çıkarıldığı yerle ilgili sayfa konumu bilgisi sağlayan görseller ve konum meta verilerini içerir; örneğin sayfa numarası veya bölüm. Bu parametre her iki çıktı formatı için de geçerlidir.
chunkingProperties Aşağıdaki tabloya bakınız. Yalnızca ayarlıysa outputFormat , textgeçerlidir. Metin içeriğinin nasıl parçalanacağını kapsayan ve diğer meta verileri yeniden hesaplayan seçenekler.
chunkingProperties parametre İzin verilen değerler Description
unit characters Parça biriminin kardinalliğini kontrol eder. Parça uzunluğu, kelimeler veya jetonlar yerine karakterlerle ölçülür.
maximumLength 300 ile 50000 arasında bir tam sayı. String.Length ile ölçülen karakterlerdeki maksimum parça uzunluğu.
overlapLength Tam sayı yarısından maximumLengthdaha az olan bir tamsayı. İki metin parçası arasında sağlanan örtüşme uzunluğu.

Beceri girişleri

Giriş adı Description
file_data İçeriğin çıkarılması gereken dosya.

"file_data" girdisi, şu şekilde tanımlanan bir nesne olmalıdır:

{
  "$type": "file",
  "data": "BASE64 encoded string of the file"
}

Alternatif olarak, şu şekilde tanımlanabilir:

{
  "$type": "file",
  "url": "URL to download file",
  "sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}

Dosya referans nesnesi aşağıdaki yöntemlerden biriyle oluşturulabilir:

  • İndekser tanımınızda parametreyi allowSkillsetToReadFileData doğru olarak ayarlıyorum. Bu ayar, blob veri kaynağından indirilen orijinal dosya verisini temsil eden bir nesne olan bir yol /document/file_data oluşturur. Bu parametre yalnızca Azure Blob depolamadaki dosyalar için geçerlidir.

    allowSkillsetToReadFileData indirilen dosya verilerini becerinin kullanımına sağlar. Blob dizin oluşturucu sınırlarını veya Veri sınırları'nda açıklanan Belge Zekası sınırlarını artırmaz.

  • Özel bir beceriye sahip olmak, , veya , veya .$typedataurlsastoken Parametre $type olarak fileayarlanmalıdır ve data dosya içeriğinin 64 bayt tabanlı dizisi olmalıdır. Parametre, url dosyayı o konumdan indirmek için erişime sahip geçerli bir URL olmalıdır.

Beceri çıkışları

Çıkış adı Description
markdown_document Yalnızca ayarlıysa outputFormat , markdowngeçerlidir. Markdown belgesindeki her bölümü temsil eden "bölümler" nesnelerinden oluşan bir koleksiyon.
text_sections Yalnızca ayarlıysa outputFormat , textgeçerlidir. Metni bir sayfanın sınırları içindeki metni temsil eden (daha fazla parça yapılandırması da dahil edildiğinde), herhangi bir bölüm başlığı dahil olmak üzere bir metin parçası nesneleri koleksiyonudur. Metin parçası nesnesi varsa içerir locationMetadata .
normalized_images Yalnızca ayarlıysa outputFormat ve text dahildeyse extractionOptionsgeçerlidirimages. Belgeden çıkarılan görüntülerin bir koleksiyonu, varsa dahil locationMetadata .

Markdown çıkış modu için örnek tanım

{
  "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" 
        }
      ]
    }
  ]
}

Markdown çıkış modu için örnek çıkışı

{
  "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,
    } 
  ] 
}

'nin markdownHeaderDepth değeri, "sections" sözlüğündeki anahtar sayısını kontrol eder. Örnek beceri tanımında, " markdownHeaderDepth h3" olduğu için, "sections" sözlüğünde üç anahtar vardır: h1, h2, h3.

Metin çıkış modu ve görüntü ile meta veri çıkarımı için örnek

Bu örnek, metin içeriğinin sabit boyutlarda nasıl çıktılacağını ve belgeden görsellerle birlikte konum meta verilerinin nasıl çıkarılacağını gösterir.

Metin çıkış modu ve görüntü ile meta veri çıkarımı için örnek tanım

{
  "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" 
        } 
      ]
    }
  ]
}

Metin çıkış modu ve görüntü ile meta veri çıkarımı için örnek çıktı

{
  "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}]]"
            } 
        }
    ] 
}

Yukarıdaki örnek çıktısının “sections” boş göründüğünü unutmayın. Onları doldurmak için, bölümlerin doğru şekilde doldurulduğundan emin olmak için outputFormat set ile markdownkonfigürlenmiş ek bir yetenek eklemeniz gerekecek.

Yetenek, konum Metaverisi hesaplamak için Azure Belge Zekası kullanır. Sayfaların ve sınırlayıcı çokgen koordinatlarının nasıl tanımlandığına dair detaylar için Azure Document Intelligence layout modeli sayfasına bakabilirsiniz.

Depolanan imagePath bir görüntünün göreli yolunu temsil eder. Bilgi deposu dosyası projeksiyonu beceri setinde yapılandırılmışsa, bu yol bilgi deposunda depolanan görüntünün göreceli yoluyla eşleşir.