Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Note
Pencarian Azure AI tersedia melalui portal Azure, REST API, dan Azure SDK. Ini juga mendukung Foundry IQ, lapisan pengetahuan terkelola yang mengubah konten perusahaan menjadi pangkalan pengetahuan yang dapat digunakan kembali dan sadar izin untuk agen di portal Microsoft Foundry.
Keterampilan Document Layout menggunakan model layout dari Azure Document Intelligence in Foundry Tools untuk menganalisis dokumen, mendeteksi struktur dan karakteristiknya, dan menghasilkan representasi sintaksis dalam format Markdown atau teks. Keterampilan ini mendukung ekstraksi teks dan gambar, yang terakhir mencakup metadata lokasi yang mempertahankan posisi gambar dalam dokumen. Kedekatan gambar dengan konten terkait bermanfaat dalam skenario pencarian yang ditambah (RAG) dan pengambilan lainnya.
Untuk transaksi yang melebihi 20 dokumen per pengindeks per hari, keterampilan ini mengharuskan Anda untuk lampirkan sumber daya Microsoft Foundry yang dapat ditagih ke keahlian Anda. Eksekusi keterampilan bawaan dikenakan biaya dengan harga Standar Alat Pengecoran yang ada.
Artikel ini adalah dokumentasi referensi untuk keterampilan Tata Letak Dokumen. Untuk informasi penggunaan, lihat Cara memotong dan mengvektorkan berdasarkan tata letak dokumen.
Tip
Adalah umum untuk menggunakan keterampilan ini pada konten yang memiliki struktur dan gambar, seperti PDF. Tutorial Multimodal menunjukkan verbalisasi gambar dengan dua strategi pemotongan data yang berbeda.
Keterbatasan
Skill ini memiliki keterbatasan sebagai berikut:
Keterampilan ini tidak cocok untuk dokumen besar yang membutuhkan pemrosesan lebih dari lima menit dalam model tata letak Azure Document Intelligence. Waktu keterampilan habis, tetapi biaya masih berlaku untuk sumber daya Foundry jika dilampirkan ke set keterampilan untuk tujuan penagihan. Pastikan dokumen dioptimalkan agar tetap dalam batas pemrosesan untuk menghindari biaya yang tidak perlu.
Karena keterampilan ini memanggil model tata letak Kecerdasan Dokumen Azure, semua perilaku service yang didokumentasikan untuk jenis dokumen yang berbeda untuk jenis file yang berbeda berlaku untuk outputnya. Misalnya, file Word (DOCX) dan PDF dapat menghasilkan hasil yang berbeda karena perbedaan dalam cara penanganan gambar. Jika perilaku gambar yang konsisten di seluruh DOCX dan PDF diperlukan, pertimbangkan untuk mengonversi dokumen ke PDF atau meninjau dokumentasi pencarian multimoda untuk pendekatan alternatif.
Wilayah yang didukung
Keterampilan Tata Letak Dokumen memanggil v4.0 (30-11-2024) dari Azure Document Intelligence REST API.
Wilayah yang didukung bervariasi menurut modalitas dan bagaimana keterampilan terhubung ke model tata letak Azure Document Intelligence. Saat ini, versi model tata letak yang diterapkan tidak mendukung wilayah 21Vianet .
| Approach | Persyaratan |
|---|---|
| Wizard impor data | Buat layanan Pencarian Azure AI dan akun multi-layanan AI Azure AI di salah satu wilayah berikut: AS Timur, Eropa Barat 2, atau AS Tengah Utara. |
| Terprogram, menggunakan kunci sumber daya Foundry Microsoft untuk penagihan | Buat layanan Pencarian Azure AI dan sumber daya Microsoft Foundry di wilayah yang sama. Wilayah ini harus mendukung Pencarian Azure AI dan Azure Document Intelligence. |
| Terprogram, menggunakan autentikasi Microsoft Entra ID untuk penagihan | Tidak ada persyaratan wilayah yang sama. Buat layanan Pencarian Azure AI dan sumber daya Foundry Microsoft di wilayah mana pun di mana setiap layanan tersedia. |
Format file yang didukung
Keterampilan ini mengenali format file berikut:
- . JPEG
- .JPG
- .PNG
- .BMP
- . TIFF
- .DOCX
- . XLSX
- .PPTX
- .HTML
Bahasa yang didukung
Untuk teks cetak, lihat Azure Bahasa yang didukung model tata letak Kecerdasan Dokumen.
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
Batasan data
- Untuk PDF dan TIFF, hingga 2.000 halaman dapat diproses (dengan langganan tingkat gratis, hanya dua halaman pertama yang diproses).
- Meskipun ukuran file untuk menganalisis dokumen adalah 500 MB untuk tingkat Azure Document Intelligence berbayar (S0) dan 4 MB untuk tingkat Azure Document Intelligence gratis (F0), pengindeksan tunduk pada batas pengindeks dari tingkat layanan penelusuran Anda.
- Dimensi gambar harus antara 50 piksel x 50 piksel atau 10.000 piksel x 10.000 piksel.
- Jika PDF Anda dikunci kata sandi, hapus kunci sebelum menjalankan pengindeks.
Parameter keterampilan
Parameter peka huruf besar/kecil.
| Nama Parameter | Nilai yang diizinkan | Deskripsi |
|---|---|---|
outputMode |
oneToMany |
Mengontrol kardinalitas output yang dihasilkan oleh keterampilan. |
markdownHeaderDepth |
h1, , h2, h3, h4, h5, ( h6 default) |
Hanya berlaku jika outputFormat diatur ke markdown. Parameter ini menjelaskan tingkat bersarang terdalam yang harus dipertimbangkan. Misalnya, jika markdownHeaderDepth , h3setiap bagian yang lebih dalam, seperti h4, digulung ke .h3 |
outputFormat |
markdown (bawaan), text |
Mengontrol format output yang dihasilkan oleh keterampilan. |
extractionOptions |
["images"], , ["images", "locationMetadata"]["locationMetadata"] |
Identifikasi konten tambahan yang diekstrak dari dokumen. Tentukan array enum yang sesuai dengan konten yang akan disertakan dalam output. Misalnya, jika extractionOptions adalah ["images", "locationMetadata"], output mencakup gambar dan metadata lokasi yang memberikan informasi lokasi halaman yang terkait dengan tempat konten diekstrak, seperti nomor halaman atau bagian. Parameter ini berlaku untuk kedua format output. |
chunkingProperties |
Lihat tabel berikut. | Hanya berlaku jika outputFormat diatur ke text. Opsi yang merangkum cara memotong konten teks sambil menghitung ulang metadata lainnya. |
chunkingProperties Parameter |
Nilai yang diizinkan | Deskripsi |
|---|---|---|
unit |
characters |
Mengontrol kardinalitas unit potongan. Panjang potongan diukur dalam karakter, bukan kata atau token. |
maximumLength |
Bilangan bulat antara 300 dan 50000. | Panjang potongan maksimum dalam karakter seperti yang diukur oleh String.Length. |
overlapLength |
Bilangan bulat kurang dari setengah dari maximumLength. |
Panjang tumpang tindih yang disediakan antara dua potongan teks. |
Masukan keterampilan
| Masukkan nama | Deskripsi |
|---|---|
file_data |
File yang harus diekstrak kontennya. |
Input "file_data" harus berupa objek yang didefinisikan sebagai:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
Atau, ini dapat didefinisikan sebagai:
{
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}
Objek referensi file dapat dihasilkan dengan salah satu cara berikut:
Mengatur
allowSkillsetToReadFileDataparameter pada definisi pengindeks Anda ke true. Pengaturan ini membuat jalur/document/file_datayang merupakan objek yang mewakili data file asli yang diunduh dari sumber data blob Anda. Parameter ini hanya berlaku untuk file di penyimpanan Azure Blob.allowSkillsetToReadFileDatamembuat data file yang diunduh tersedia untuk keterampilan. Ini tidak meningkatkan batas pengindeks blob atau batas Kecerdasan Dokumen yang dijelaskan dalam Batas data.Memiliki keterampilan kustom yang mengembalikan definisi objek JSON yang menyediakan
$type,dataatauurlsastokendan . Parameter$typeharus diatur kefile, dandataharus berupa array byte yang dikodekan 64 dasar dari konten file.urlParameter harus berupa URL yang valid dengan akses untuk mengunduh file di lokasi tersebut.
Keluaran Keterampilan
| Nama output | Deskripsi |
|---|---|
markdown_document |
Hanya berlaku jika outputFormat diatur ke markdown. Kumpulan objek "bagian", yang mewakili setiap bagian individual dalam dokumen Markdown. |
text_sections |
Hanya berlaku jika outputFormat diatur ke text. Kumpulan objek potongan teks, yang mewakili teks dalam batas halaman (memperhitungkan potongan lagi yang dikonfigurasi), termasuk header bagian itu sendiri. Objek potongan teks menyertakan locationMetadata , jika ada. |
normalized_images |
Hanya berlaku jika outputFormat diatur ke text dan extractionOptions termasuk images. Kumpulan gambar yang diekstrak dari dokumen, termasuk locationMetadata jika ada. |
Contoh definisi untuk mode output penurunan harga
{
"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"
}
]
}
]
}
Output sampel untuk mode output penurunan harga
{
"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,
}
]
}
Nilai mengontrol markdownHeaderDepth jumlah kunci dalam kamus "bagian". Dalam contoh definisi keterampilan, karena adalah markdownHeaderDepth "h3", ada tiga kunci dalam kamus "bagian": h1, h2, h3.
Contoh untuk mode keluaran teks dan ekstraksi gambar dan metadata
Contoh ini menunjukkan cara mengeluarkan konten teks dalam potongan berukuran tetap dan mengekstrak gambar bersama dengan metadata lokasi dari dokumen.
Contoh definisi untuk mode keluaran teks dan ekstraksi gambar dan metadata
{
"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"
}
]
}
]
}
Contoh output untuk mode output teks dan ekstraksi gambar dan metadata
{
"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}]]"
}
}
]
}
Perhatikan bahwa output “sections” sampel di atas tampak kosong. Untuk mengisinya, Anda harus menambahkan keterampilan tambahan yang dikonfigurasi dengan outputFormat set to markdownuntuk memastikan bagian terisi dengan benar.
Keterampilan ini menggunakan Azure Document Intelligence untuk menghitung locationMetadata. Lihat model tata letak Azure Document Intelligence untuk detail tentang bagaimana halaman dan koordinat poligon pembatas didefinisikan.
Mewakili imagePath jalur relatif dari gambar yang disimpan. Jika proyeksi file penyimpanan pengetahuan dikonfigurasi dalam set keterampilan, jalur ini cocok dengan jalur relatif gambar yang disimpan di penyimpanan pengetahuan.