要使用 AI 代理批量提取文件中的資料,請將結構寫入提示,將代理指向資料夾,並在最後要求提供例外清單。GroupDocs.Parser.Mcp 伺服器在 Docker 容器中本地執行讀取,因此每個檔案都會通過相同的提取工具,且不會有文件離開機器。LLM 決定工作順序;引擎負責讀取檔案。
對於我的文件資料夾中的每個 PDF:提取表格為 JSON,對 amount 欄位求和,並給我一個包含檔名、總計、頁數的表格。
包含設定與故障排除的逐步說明位於文件中: 一次性從文件資料夾提取資料.
為什麼手動提取會產生不一致的資料?
當人們一次只從文件中複製數值時,每個檔案的處理方式會略有不同:有人會包括稅金,有人則不會,還有人會跳過版面異常的檔案。這種不一致在比較總計之前是看不見的。工作流程透過明確規則並以相同方式套用於每個檔案來解決此問題。使用代理時,規則寫在同一個提示中,提取工具在第一個檔案和第二百個檔案上表現完全相同。
如何建立工作流程?
將資料夾掛載到容器內的 /data,設定 GROUPDOCS_MCP_STORAGE_PATH=/data,並給予代理以下步驟。
- 檢查授權。 提示:「執行 get_license_status 並告訴我模式。」 未授權的提取受到限制,對資料夾的部分讀取會產生悄然錯誤的資料集。
- 對資料夾進行分流。 提示:「對每個檔案,回報格式、頁數以及文字提取是否返回任何內容。」
get_document_info提供類型、頁數與大小,而單頁的extract_text呼叫則顯示是否有文字存在。 - 修正結構。 提示:「對每個可讀取的檔案,將明細表提取為 JSON。欄位:item、quantity、amount。對 amount 欄位求和。」 這使用
extract_tables。 - 明確收集失敗。 提示:「列出所有失敗、受密碼保護或未返回表格的檔案,並說明原因。」 只報告成功的批次會隱藏例外情況。
- 寫入輸出。 提示:「將每個檔案寫入一行 CSV,放在輸出資料夾中。」
檔案在容器內以名稱解析,因此代理傳遞的是 invoice-014.pdf,而不是主機路徑。
代理決定什麼,引擎執行什麼?
| 步驟 | 代理決定 | 引擎執行 |
|---|---|---|
| 分流 | 要從哪些檔案提取 | 回報類型、頁數與大小;extract_text 顯示是否有文字存在 |
| 捕獲 | 每個檔案需要哪個工具 | 返回檔案中的文字或表格列 |
| 驗證 | 總計是否與文字相符 | 無;由代理比較 |
| 例外 | 哪些檔案列入清單 | 返回錯誤檔案的失敗訊息 |
| 輸出 | CSV 的結構 | 無;由代理寫入 |
分工即是關鍵。捕獲數值屬於確定性的引擎工作;判斷與組合則屬於代理的職責。
範例會話(節錄):
You: Check the license, triage the folder, then extract line items from every readable PDF and list the exceptions.
Agent: [calls get_license_status, get_document_info x12, extract_text, extract_tables x10]
License mode: evaluation. Results below are a smoke test.
12 files: 10 with a text layer, 1 scan, 1 password-protected.
Totals written for 10 files. Exceptions: scan-007.pdf (no text layer), hr-020.pdf (password required).
當檔案不符合條件時會發生什麼?
掃描檔沒有文字層,因此表格提取不會返回任何內容。可將其放置一旁,或在頁面包含追蹤號碼或訂單代碼時讓代理分支至 extract_barcodes。此備選清單同時充當檔案庫中哪些部分是掃描件的清點。受密碼保護的檔案會使其呼叫失敗,因此請代理報告並繼續;當您有密碼時,工具接受 password 參數。
如何讓大規模執行保持成本可負擔?
- 依頁面限制,當資料位於已知位置時,例如每張發票的第一頁。
- 大量避免使用
extract_images。 它會為每張圖片寫入一個檔案,包含插圖的報告資料夾會產生數百個檔案。 - 留意計量使用量。 在計量授權下,每次呼叫都會依處理量計費,因此有針對性的掃描比全面掃描成本更低。
限制是什麼?
未取得授權時,提取功能受限;具體限制請參閱函式庫的 授權頁面。伺服器不具備 OCR 功能,無法捕獲掃描文字。它僅以 Docker 映像提供;沒有 dnx 指令。
如何註冊伺服器?
以下是針對 Cursor、Claude Desktop 或 Windsurf 的最小手動條目,使用 Parser 設定文件中的容器路徑:
{
"mcpServers": {
"groupdocs-parser": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-v", "/path/to/documents:/data",
"-e", "GROUPDOCS_MCP_STORAGE_PATH=/data",
"ghcr.io/groupdocs-parser/parser-net-mcp:latest"]
}
}
}
常見問題
我可以在不上傳的情況下使用 AI 處理發票資料夾嗎?
是的。容器會讀取掛載的資料夾,並透過 stdio 與您的客戶端通訊,因而發票保留在您的機器上。
如何在本機批次提取 PDF 文字?
請讓代理遍歷資料夾,對每個檔案呼叫 extract_text,對於長文件則逐頁處理,因為非常大的輸出會被標記截斷。
代理能自動化文件的資料輸入嗎?
它可以將提取的列組合成 CSV 或摘要表格。在將任何資料輸入其他系統之前,請先檢查例外清單。
深入了解
- 文件說明,標準操作方式: 一次性從文件資料夾提取資料
- 文件中心: GroupDocs.Parser MCP Server
- 從此開始: 使用 AI 代理與 MCP 提取文件資料的 3 種方式(文字、表格、圖片)
- 相關: 從 PDF 表格轉為 JSON,無需 LLM 猜測儲存格
- 相關: 使用 AI 代理的掃描至記錄自動化
- 本地部署與安全模型: AI 文件處理的 3 種架構,以及將檔案保留在內部網路的方案
- 問題討論: GroupDocs Parser forum
- 原始碼: GroupDocs.Parser.Mcp on GitHub