使用版面配置剖析器處理文件
版面配置剖析器會擷取文字、表格和清單等文件內容元素,並建立內容認知分塊,以便在生成式 AI 和探索應用程式中檢索資訊。
版面配置剖析器功能
剖析文件版面配置。您可以將 HTML 或 PDF 檔案輸入至版面配置剖析器,識別文字區塊、表格、清單等內容元素,以及標題和標題等結構元素。這些元素有助於定義文件的組織和階層,並提供豐富的內容和結構元素,為資訊檢索和探索建立更多情境。
將文件分塊。版面配置剖析器可將文件分割成多個區塊,並保留原始文件的版面配置階層脈絡資訊。生成答案的 LLM 可以使用區塊來提升關聯性,並降低運算負載。
在分塊期間考量文件的版面配置,可提升語意一致性,並減少內容中的雜訊,以利檢索和 LLM 生成作業。同一組文字中的所有文字都來自相同的版面配置實體,例如標題、副標題或清單。
限制
限制如下:
- 線上處理:
- 所有檔案類型的輸入檔案大小上限為 20 MB
- 每個 PDF 檔案最多 15 頁
- 批次處理:
- PDF 檔案的單一檔案大小上限為 40 MB
- 每個 PDF 檔案最多 500 頁
各檔案類型的版面配置偵測結果
下表列出 Layout Parser 可偵測到的元素 (依文件檔案類型分類)。
檔案類型 | 偵測到的元素 | 限制 |
---|---|---|
HTML | 段落、表格、清單、標題、頁首、頁尾 | 請注意,剖析作業主要依據 HTML 標記,因此系統可能無法擷取以 CSS 為基礎的格式設定。 |
段落、表格、標題、頁首、頁尾 | 如果表格橫跨多個頁面,可能會分割成兩個表格。 | |
DOCX (預先發布版) | 段落、跨多個頁面的表格、清單、標題、標題元素 | 系統不支援巢狀表格。 |
PPTX (預先發布版) | 段落、表格、清單、標題、標題元素 | 如要準確識別標題,請在 PowerPoint 檔案中標示標題。不支援巢狀表格和隱藏投影片。 |
XLSX/XLSM (預先發布版) | Excel 試算表中的表格,支援 INT 、
FLOAT 和 STRING 值 |
不支援偵測多個表格。隱藏的工作表、列或欄也可能會影響偵測結果。 |
事前準備
如要開啟版面配置剖析器,請按照下列步驟操作:
使用版面配置剖析器傳送線上處理要求
將文件輸入版面配置剖析器,進行剖析和分塊。
請按照「傳送處理要求」中的批次處理要求操作說明進行。
在
ProcessDocumentRequest
中設定ProcessOptions.layoutConfig
欄位。REST
使用任何要求資料之前,請先替換以下項目:
- LOCATION:處理器的位置,例如:
us
- 美國eu
- 歐盟
- PROJECT_ID:您的 Google Cloud 專案 ID。
- PROCESSOR_ID:自訂處理器的 ID。
- MIME_TYPE:版面配置剖析器支援
application/pdf
和text/html
。 - DOCUMENT:要分割為分塊的內容。版面配置剖析器接受原始 PDF 或 HTML 文件,或是版面配置剖析器輸出的已剖析文件。
- CHUNK_SIZE:選用。分割文件時使用的區塊大小 (以權杖為單位)。
- INCLUDE_ANCESTOR_HEADINGS:選用。布林值。是否要在分割文件時納入祖系標題。
HTTP 方法和網址:
POST https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process
JSON 要求主體:
// Sample for inputting raw documents such as PDF or HTML { "rawDocument": { "mimeType": "MIME_TYPE", "content": "DOCUMENT" }, "processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS", } } } }
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為
request.json
的檔案中,然後執行下列指令:curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process"PowerShell
將要求主體儲存在名為
request.json
的檔案中,然後執行下列指令:$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID:process" | Select-Object -Expand ContentDocument.documentLayout
和Document.chunkedDocument
。Python
詳情請參閱 Document AI Python API 參考說明文件。
如要向 Document AI 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
- LOCATION:處理器的位置,例如:
使用版面配置剖析器批次處理文件
請按照下列程序,在單一要求中剖析及分塊多份文件。
將文件輸入版面配置剖析器,進行剖析和分塊。
請按照「傳送處理要求」中的批次處理要求操作說明進行。
在發出
batchProcess
要求時,請設定ProcessOptions.layoutConfig
中的欄位。輸入
下列 JSON 範例會設定
ProcessOptions.layoutConfig
。"processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN" } } }
更改下列內容:
CHUNK_SIZE
:分割文件時使用的最大區塊大小 (以符記數為單位)。INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
:是否要在分割文件時納入祖系標題。祖系標題是原始文件中子標題的父項。他們可以提供含有額外背景資訊的區塊,說明該區塊在原始文件中的位置。每個區塊最多可包含兩層標題。
後續步驟
- 查看處理器清單。
- 建立自訂分類器。
- 使用 Enterprise Document OCR 偵測及擷取文字。
- 請參閱「傳送批次處理文件要求」,瞭解如何處理回應。