Note
Azure AI 搜尋服務 可透過 Azure 入口網站、REST API 及 Azure SDK 取得。 它同時也是 Foundry IQ 的基礎,這是一個管理式知識層,能將企業內容轉化為可重複使用、權限感知的知識庫,供 Microsoft Foundry 入口網站中的代理使用。
文件擷取技能是從豐富管線中的檔案中擷取內容。 預設情況下,內容擷取或檢索是內建於增強流程中。 不過,使用文件擷取技能後,您可以控制參數的設定方式,以及擷取的內容在擴充樹狀結構的命名方式。
對於向量與多模態搜尋,結合文件擷取與文字分割技能,實作可配置的資料分塊方法。 多模態教學示範了這個情境。
Note
此技能並未繫結至 Foundry 工具,也不需要 Foundry 工具金鑰。
此技能會擷取文字與影像。 文字擷取是免費的。 影像擷取會由 Azure AI 搜尋服務計費。 免費搜尋服務會吸收每天每個索引子 20 筆交易的成本,讓您可以免費完成快速入門、教學課程與小型專案。 在基本層與更高層級,影像擷取會計費。
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
支援的文件格式
DocumentExtractionSkill 可從下列文件格式擷取文字:
- CSV (請參閱編製 CSV Blob 的索引)
- EML
- EPUB
- GZ
- HTML
- JSON (請參閱編製 JSON Blob 的索引)
- KML (以 XML 表示的地理位置資料)
- Markdown
- Microsoft Office 格式:DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG (Outlook 電子郵件)、XML (2003 與 2006 WORD XML)
- Open Document 格式:ODT、ODS、ODP
- 純文字檔 (另請參閱編製純文字索引)
- RTF
- XML
- ZIP
技能參數
參數會區分大小寫。
| 輸入 | 允許的值 | Description |
|---|---|---|
parsingMode |
defaulttextjson |
設定為 以便 default 從非純文字或非 JSON 檔案中擷取文件。 對於包含標記的原始檔案,如 PDF、HTML、RTF 及 Microsoft Office 檔案,請使用預設格式擷取不含標記語言或標籤的文字。 若 parsingMode 未明確定義,則值為 default。若來源檔案是 TXT,請設為 text。 此解析模式提升了純文字檔案的效能。 若檔案包含標記,此模式會在最終輸出中保留標籤。設定為 以 json 從 JSON 檔案中擷取結構化內容。 |
dataToExtract |
contentAndMetadataallMetadata |
若要從每個檔案擷取所有中繼資料與文字內容,請設為 contentAndMetadata。 若 dataToExtract 未明確定義,則值為 contentAndMetadata。設定為 以 allMetadata 擷取內容 類型的元資料屬性,例如 PNG 檔案獨有的元資料。 |
configuration |
請參閱下文。 | 可選用參數的字典,用來調整文件擷取的執行方式。 請參閱下表以了解支援的組態屬性。 |
| 配置參數 | 允許的值 | Description |
|---|---|---|
imageAction |
nonegenerateNormalizedImagesgenerateNormalizedImagePerPage |
若要忽略資料集的內嵌影像或影像檔案,或來源資料不包含影像檔案,請設為 none。 此值為預設值。若要進行 OCR 與影像分析,請設為 generateNormalizedImages,讓技能在文件破解時建立標準化影像的陣列。 此動作需要 parsingMode 集合 到 default ,且 dataToExtract 設為 contentAndMetadata。 正規化影像的輸出會均勻且大小與旋轉,以促進視覺搜尋結果的一致呈現。 技能會為每張圖片產生這些資訊。如果你設定 imageAction 為 generateNormalizedImagePerPage,每個 PDF 頁面會被渲染成影像並正規化,而不是擷取嵌入的圖片。 非 PDF 的檔案類型處理的方式會與設為 generateNormalizedImages 時相同。 |
normalizedImageMaxWidth |
介於 50-10000 的任何整數 | 產生的標準化影像最大寬度(像素)。 預設值為 2000。 |
normalizedImageMaxHeight |
介於 50-10000 的任何整數 | 產生的標準化影像最大高度(像素)。 預設值為 2000。 |
Note
標準化影像最大寬度與高度的預設值為 2000 像素,是以 OCR 技能與影像分析技能支援的最大大小為依據。 OCR 技能對非英文語言支援的最大寬度與高度為 4200,對英文則為 10000。 若您提高最大限制,可能會因技能集定義與文件語言之故,在處理較大影像時失敗。
技能輸入
| 輸入名稱 | Description |
|---|---|
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」。 這麼做建立的/document/file_data路徑代表的物件是從您的 Blob 資料來源下載的原始檔案資料。 此參數僅適用於 Blob 儲存體的檔案。allowSkillsetToReadFileData讓下載的檔案資料可供技能使用。 它不會增加 blob 索引器的檔案大小或解壓內容限制。將索引子定義的
imageAction參數設為none以外的值。 這麼做建立的影像陣列若逐一傳遞,會遵循輸入到此技能所需的慣例 (也就是/document/normalized_images/*)。讓自訂技能傳回完全按照上述定義的 json 物件。
$type參數必須精確設為file,且data參數必須是檔案內容的 base 64 編碼位元組陣列資料,或者url參數必須是正確格式的 URL,且具備在該位置下載檔案的存取權。
技能產出
| 輸出名稱 | Description |
|---|---|
content |
文件的文字內容。 |
normalized_images |
當 被設定為非 none的值時imageAction,新的 normalized_images 欄位包含一組影像陣列。 欲了解更多輸出格式資訊,請參閱從 影像中擷取文字與資訊。 |
範例定義
{
"@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
"parsingMode": "default",
"dataToExtract": "contentAndMetadata",
"configuration": {
"imageAction": "generateNormalizedImages",
"normalizedImageMaxWidth": 2000,
"normalizedImageMaxHeight": 2000
},
"context": "/document",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "content",
"targetName": "extracted_content"
},
{
"name": "normalized_images",
"targetName": "extracted_normalized_images"
}
]
}
範例輸入
{
"values": [
{
"recordId": "1",
"data":
{
"file_data": {
"$type": "file",
"data": "aGVsbG8="
}
}
}
]
}
範例輸出
{
"values": [
{
"recordId": "1",
"data": {
"content": "hello",
"normalized_images": []
}
}
]
}
另請參閱
- 內建技能
- 如何定義技能集 (英文)
- 如何處理影像並擷取資訊