ドキュメント レイアウト スキル
Note
現在、この機能はパブリック プレビュー段階にあります。 このプレビュー版はサービス レベル アグリーメントなしで提供されています。運用環境のワークロードに使用することはお勧めできません。 特定の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
Document Layout スキルは、ドキュメントを分析して関心のある領域とその相互関係を抽出し、Markdown 形式でドキュメントの構文表現を生成します。 このスキルでは、Azure AI ドキュメント インテリジェンスで提供される Document Intelligence レイアウト モデルを使用します。
この記事は、ドキュメント レイアウト スキルのリファレンス ドキュメントです。 使用方法については、「 構造化対応のチャンクとベクター化」を参照してください。
Document Layout スキルは、Document Intelligence パブリック プレビュー バージョン 2024-07-31-preview を呼び出します。 現時点では、次の Azure リージョンでのみ使用できます。
- 米国東部
- 米国西部 2
- 西ヨーロッパ
- 米国中北部
サポートされているファイル形式は以下の通りです。
- PDF。
- .JPEG
- .JPG
- .PNG
- .BMP
- .TIFF
- .DOCX
- .XLSX
- .PPTX
- HTML。
Note
このスキルは Azure AI サービスにバインドされており、1 日にインデクサーあたり 20 ドキュメントを超えるトランザクションには課金対象リソースが必要です。 組み込みスキルの実行は、既存の Azure AI サービスの従量課金制の価格で課金されます。
@odata.type
Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill
データ制限
- PDF および TIFF の場合、最大 2,000 ページを処理できます (Free レベルのサブスクリプションでは、最初の 2 ページのみが処理されます)。
- ドキュメントを分析するためのファイル サイズが Azure AI Document Intelligence 有料 (S0) レベルでは 500 MB 、 Azure AI Document Intelligence Free (F0) レベルでは 4 MB場合でも、インデックス作成には検索サービス レベルの インデックスの制限 が適用されます。
- 画像のサイズは、50 ピクセル x 50 ピクセルまたは 10,000 ピクセル x 10,000 ピクセルの間である必要があります。
- PDF がパスワードロックされている場合は、インデクサーを実行する前にロックを解除します。
サポートされている言語
印刷されたテキストについては、 Azure AI ドキュメント インテリジェンス レイアウト モデルでサポートされている言語 を参照してください。
制限事項
パブリック プレビュー中、このスキルには次の制限があります。
- スキルは、ドキュメント内に埋め込まれた画像を抽出できません。
- ページ番号は、生成された出力には含まれません。
- このスキルは、AI ドキュメント インテリジェンス レイアウト モデルで 5 分以上の処理を必要とする大規模なドキュメントには適していません。 スキルはタイムアウトしますが、課金目的でスキルセットにアタッチされている場合、料金は引き続き AI Services マルチサービス リソースに適用されます。 不要なコストを回避するために、ドキュメントが処理制限内に収まるように最適化されていることを確認します。
スキルのパラメーター
パラメーターの大文字と小文字は区別されます。
パラメーター名 | 使用できる値 | 説明 |
---|---|---|
outputMode |
oneToMany |
スキルによって生成される出力のカーディナリティを制御します。 |
markdownHeaderDepth |
h1 、 h2 、 h3 、 h4 、 h5 、 h6(default) |
このパラメーターは、考慮する必要がある最も深い入れ子レベルを表します。 たとえば、markdownHeaderDepth が h3 より深いマークダウン セクション (つまり、#### より深い) が "h3" として示されている場合、その親レベルに追加する必要がある "コンテンツ" と見なされます。 |
スキルの入力
入力名 | 説明 |
---|---|
file_data |
コンテンツを抽出する必要があるファイル。 |
"file_data" の入力では、次のように定義されたオブジェクトを指定する必要があります。
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
または、次のように定義できます。
{
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}
ファイル参照オブジェクトは、次のいずれかの方法で生成できます。
インデクサー定義の
allowSkillsetToReadFileData
パラメーターを true に設定します。 この設定により、BLOB データ ソースからダウンロードされた元のファイル データを表すオブジェクトであるパス/document/file_data
が作成されます。 このパラメーターは、Azure Blob Storage 内のファイルにのみ適用されます。$type
、data
、またはurl
とsastoken
を提供する JSON オブジェクトを返すカスタム スキルを持つ。$type
パラメーターはfile
に設定する必要があり、data
はファイル コンテンツの base 64 でエンコードされたバイト配列である必要があります。url
パラメーターは、その場所でファイルをダウンロードするためのアクセス権を持つ有効な URL である必要があります。
スキルの出力
出力名 | 説明 |
---|---|
markdown_document |
Markdown ドキュメント内の各セクションを表す "sections" オブジェクトのコレクション。 |
定義例
{
"skills": [
{
"description": "Analyze a document",
"@odata.type": "#Microsoft.Skills.Util.DocumentLayoutAnalysisSkill",
"context": "/document",
"outputMode": "oneToMany",
"markdownHeaderDepth": "h3",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "markdown_document",
"targetName": "markdown_document"
}
]
}
]
}
サンプル出力
{
"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,
}
]
}
markdownHeaderDepth
の値は、"セクション" ディクショナリ内のキーの数を制御します。 スキル定義の例では、 markdownHeaderDepth
は "h3" であるため、"sections" ディクショナリには h1、h2、h3 の 3 つのキーがあります。