Dovednost v rozvržení dokumentů

Note

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Dovednost Document Layout využívá model layout z Azure Document Intelligence in Foundry Tools k analýze dokumentu, detekci jeho struktury a charakteristik a vytvoření syntaktické reprezentace ve formátu Markdown nebo textu. Tato dovednost podporuje extrakci textu a obrázků, přičemž ta druhá zahrnuje metadata lokace, která zachovávají pozici obrázku v dokumentu. Blízkost obrázku k souvisejícímu obsahu je výhodná v scénářích generování s rozšířeným vyhledáváním (RAG) a multimodálním vyhledáváním .

U transakcí, které přesahují 20 dokumentů na indexera denně, tato dovednost vyžaduje, abyste k vašemu souboru dovedností připojili Microsoft Foundry zdroj fakturovatelný . Realizace vestavěných dovedností je účtována podle stávající standardní ceny Foundry Tools.

Tento článek je referenční dokumentací pro dovednost Document Layout. Pro informace o použití viz Jak dělit části a vektorizovat podle rozložení dokumentu.

Tip

Je běžné tuto dovednost využívat u obsahu, který má strukturu a obrázky, například u PDF. Multimodální tutoriál demonstruje verbalizaci obrázků pomocí dvou různých strategií rozdělení dat.

Omezení

Tato dovednost má následující omezení:

  • Tato dovednost není vhodná pro rozsáhlé dokumenty, které vyžadují více než pět minut zpracování v modelu rozložení Azure Document Intelligence. Časový limit dovednosti vyprší, ale poplatky se stále účtují na zdroj Foundry, pokud je připojen k dovednosti pro účely fakturace. Ujistěte se, že dokumenty jsou optimalizovány tak, aby zůstaly v rámci limitů zpracování a vyhnuli se zbytečným nákladům.

  • Protože tato dovednost volá model rozložení Azure Document Intelligence, všechny zdokumentované chování service pro různé typy dokumentů pro různé typy souborů se aplikují na její výstup. Například soubory Word (DOCX) a PDF mohou přinášet odlišné výsledky kvůli rozdílům v manipulaci s obrázky. Pokud je vyžadováno konzistentní chování obrázků napříč DOCX a PDF, zvažte převod dokumentů do PDF nebo prohlédnutí multimodálního vyhledávání pro alternativní přístupy.

Podporované oblasti

Dovednost Document Layout volá verzi 4.0 (2024-11-30) Azure Document Intelligence REST API.

Podporované regiony se liší podle modality a podle toho, jak se dovednost propojuje s modelem rozložení Azure Document Intelligence. V současnosti implementovaná verze modelu rozvržení nepodporuje 21Vianet regiony.

Přístup Požadavek
Průvodce importem dat Vytvořte Azure AI Vyhledávač službu a Azure AI multi-service účet v jednom z následujících regionů: východ USA, západní Evropa 2 nebo severocentrální USA.
Programatické, využívající klíč Microsoft Foundry resource key pro fakturaci Vytvořte službu Azure AI Vyhledávač a zdroj Microsoft Foundry ve stejném regionu. Region musí podporovat jak Azure AI Vyhledávač tak Azure Document Intelligence.
Programový kód s využitím ověřování Microsoft Entra ID pro fakturaci Není potřeba mít stejný region. Vytvořte Azure AI Vyhledávač službu a Microsoft Foundry zdroj v jakémkoli regionu, kde je dostupná každá služba.

Podporované formáty souborů

Tato dovednost rozpoznává následující formáty souborů:

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

Podporované jazyky

Pro tištěný text viz Azure Jazyky podporované modelem rozložení Document Intelligence.

@odata.type

Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill

Omezení dat

  • U SOUBORŮ PDF a TIFF je možné zpracovat až 2 000 stránek (s předplatným úrovně Free se zpracuje pouze první dvě stránky).
  • I když je velikost souboru pro analýzu dokumentů 500 MB pro Azure Document Intelligence paid (S0) tier a 4 MB pro Azure Document Intelligence free (F0) tier, indexování podléhá limitům indexer vaší vyhledávací služby.
  • Rozměry obrazu musí být mezi 50 pixely x 50 pixely nebo 10 000 pixely x 10 000 pixelů.
  • Pokud jsou vaše PDF uzamčené heslem, odstraňte zámek před spuštěním indexeru.

Parametry dovedností

Parametry rozlišují malá a velká písmena.

Název parametru Povolené hodnoty Description
outputMode oneToMany Řídí kardinálnost výstupu vytvořeného dovedností.
markdownHeaderDepth h1, h2, h3, h4, , h5( h6 výchozí) Platí pouze tehdy, pokud outputFormat je nastaveno na .markdown Tento parametr popisuje nejhlubší úroveň vnoření, kterou je třeba zvážit. Například pokud markdownHeaderDepth je , h3všechny sekce, které jsou hlubší, například h4, jsou staženy do .h3
outputFormat markdown (výchozí), text Ovládá formát výstupu generovaného dovedností.
extractionOptions ["images"], , ["images", "locationMetadata"]["locationMetadata"] Identifikujte jakýkoli dodatečný obsah vyextrahovaný z dokumentu. Definujte pole enumů, které odpovídají obsahu, který má být zahrnut ve výstupu. Například pokud extractionOptions je , ["images", "locationMetadata"]výstup obsahuje obrázky a metadata lokace, která poskytují informace o umístění stránky související s místem, kde byl obsah extrahován, například číslo stránky nebo sekce. Tento parametr platí pro oba výstupní formáty.
chunkingProperties Viz následující tabulka. Platí pouze tehdy, pokud outputFormat je nastaveno na .text Možnosti, které zahrnují, jak rozdělit textový obsah při přepočítávání dalších metadat.
chunkingProperties parametr Povolené hodnoty Description
unit characters Ovládá kardinálnost jednotky chunk. Délka bloku se měří v znacích, na rozdíl od slov nebo žetonů.
maximumLength Celé číslo mezi 300 a 50000. Maximální délka bloku ve znacích měřená pomocí String.Length.
overlapLength Celé číslo menší než polovina .maximumLength Délka překryvu mezi dvěma textovými bloky.

Vstupy dovedností

Název vstupu Description
file_data Soubor, ze kterého by měl být obsah extrahován.

Vstup "file_data" musí být objektem definovaným jako:

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

Alternativně jej lze definovat jako:

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

Objekt reference souboru lze generovat jedním z následujících způsobů:

  • Nastavte allowSkillsetToReadFileData parametr v definici indexeru na true. Toto nastavení vytváří cestu /document/file_data , která je objektem reprezentujícím původní data souboru stažená z vašeho blob datového zdroje. Tento parametr platí pouze pro soubory v Azure Blob storage.

    allowSkillsetToReadFileData zpřístupní stažená data souboru dovednosti. Nezvyšuje limity indexeru objektů blob ani limity Document Intelligence popsané v limitech dat.

  • Mít vlastní dovednost vrací definici objektu JSON, která poskytuje $type, data, nebo url a .sastoken Parametr $type musí být nastaven na file, a data musí být základním 64-bajtovým polem obsahu souboru. Parametr url musí být platná URL s přístupem ke stažení souboru na tomto místě.

Výstupy schopností

Název výstupu Description
markdown_document Platí pouze tehdy, pokud outputFormat je nastaveno na .markdown Sbírka objektů "sekcí", které představují každou jednotlivou sekci v dokumentu Markdown.
text_sections Platí pouze tehdy, pokud outputFormat je nastaveno na .text Sbírka textových bloků, které reprezentují text v rámci stránky (s ohledem na případné další rozdělení), včetně jakýchkoli záhlaví sekcí. Objekt textové části obsahuje locationMetadata , pokud je to relevantní.
normalized_images Platí pouze tehdy, pokud outputFormat je nastaveno na a textextractionOptions zahrnuje images. Sbírka obrázků extrahovaných z dokumentu, včetně locationMetadata případných informací.

Ukázková definice režimu markdown výstupu

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

Výstup vzorku pro režim značení

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

Hodnota ovládá markdownHeaderDepth počet klíčů ve slovníku "sekcí". V příkladové definici dovednosti, protože je markdownHeaderDepth "h3", jsou ve slovníku "sekce" tři klíče: h1, h2, h3.

Příklad pro režim výstupu textu a extrakci obrázků a metadat

Tento příklad ukazuje, jak vypisovat textový obsah v pevně velkých částech a extrahovat obrázky spolu s metadaty lokace z dokumentu.

Ukázková definice pro režim výstupu textu a extrakci obrázků a metadat

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

Výstup vzorků pro režim textového výstupu a extrakci obrázků a metadat

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

Všimněte si, že výstup “sections” ve vzorku výše je prázdný. Pro jejich naplnění budete muset přidat další dovednost nastavenou na outputFormat to markdown, aby byly sekce správně vyplněny.

Dovednost využívá Azure Document Intelligence k výpočtu metadat lokality. Podrobnosti o tom, jak jsou definovány stránky a ohraničující souřadnice polygonů, viz Azure Document Intelligence layout model

To imagePath představuje relativní cestu uloženého obrazu. Pokud je projekce souboru úložiště znalostí nakonfigurována v sadě dovedností, tato cesta odpovídá relativní cestě obrazu uloženého v úložišti.