
Docling + Label Studio + Cleanlab:隱藏的整合稅
將 Docling、Label Studio 和 Cleanlab 拼接成一個可用的資料準備管道實際上需要什麼——格式轉換、審計追蹤空白,以及沒有人想維護的自定義腳本。
Docling 用於文件解析。Label Studio 用於標注。Cleanlab 用於品質評分。每個工具在其擅長的領域都表現出色。合在一起,它們形成了一個常見的開源資料準備堆疊。
問題不在於任何單一工具——而在於它們之間的整合。讓它們協 同工作所需的格式轉換、共享狀態管理、審計追蹤空白和自定義 Python 腳本,代表了一種隨每個專案增長的隱藏稅。
理論上的堆疊
吸引力很直觀:
Docling(IBM Research):將 PDF、Word 文件和其他格式解析為結構化輸出。處理表格、版面偵測和 OCR。開源,維護良好,表格提取準確率 97.9%。
Label Studio(HumanSignal):支援文字、圖片、音頻和視頻的標注平台。基於 Web 的界面、可自定義的標記架構、團隊管理。開源,提供企業層級。
Cleanlab:資料品質評分和標籤錯誤偵測。識別錯誤標記的示例、衡量資料品質、提供修正建議。Python 函式庫。
理論上:用 Docling 解析 → 用 Label Studio 標記 → 用 Cleanlab 品質檢查 → 匯出。
在實踐中,每個箭頭(→)代表數天的工程工作。
整合點
Docling → Label Studio
Docling 以其自有格式(DoclingDocument)輸出結構化文件。Label Studio 期望資料以 Label Studio 的匯入格式(帶有特定字段映射的 JSON,或純文字/HTML)。
您需要建立:
- 將 Docling 輸出轉換為 Label Studio 匯入格式的轉換器
- 處理不同內容類型(提取的文字、表格、圖片)——每種都需要不同的 Label Studio 模板配置
- 元資料保留——Docling 的提取信心、頁碼和源文件引用需要傳遞到 Label Studio,讓標注人員有上下文
- 處理數千個文件的批次匯入邏輯
出錯的地方:
- Docling 更新改變了輸出架構——您的轉換器中斷
- 豐富的格式(表格、列表、嵌套結構)在轉換過程中被壓扁
- 大型文件超過 Label Studio 推薦的任務大小——您需要自定義分塊邏輯
- 源文件引用(文件 X 的第 3 頁)在轉換期間丟失,使標注人員難以驗證提取
Label Studio → Cleanlab
Label Studio 以 JSON 格式匯出標注。Cleanlab 期望帶有特徵和標籤的 pandas DataFrame 或 numpy 陣列。
您需要建立:
- 從 Label Studio 拉取已完成標注的匯出管道(通過 API 或文件匯出)
- 將 Label Studio 的標注格式轉換為 Cleanlab 預期輸入的轉換器
- 處理部分標注(並非所有文件都可能已標記)
- 將 Label Studio 潛在複雜的標注結構(嵌套標籤、關係)映射到 Cleanlab 扁平標籤格式的邏輯
出錯的地方:
- Label Studio 的匯出格式根據使用的標注模板而變化
- 多標注人員場景(多人標記同一文件)需要在 Cleanlab 處理之前解決
- Cleanlab 的品質分數需要映射回特定的 Label Studio 任務以供審查——這需要維護一個映射表
Cleanlab → 修正工作流程
Cleanlab 識別潛在的標籤錯誤和品質問題。但修正需要在 Label Studio 中進行。
您需要建立:
- 一個管道,接收 Cleanlab 標記的項目並在 Label Studio 中創建審查任務
- 優先處理哪些標記項目需要人工審查的邏輯(並非所有低信心項目都真的錯誤)
- 修正後重新運行 Cleanlab 以驗證改進的反饋循環
- 追蹤哪些項目已審查與待處理
出錯的地方:
- 往返流程(從 Label Studio 匯出 → 在 Cleanlab 中分析 → 重新匯入 Label Studio 以修正 → 重新匯出 → 重新分析)涉及 4 次以上的資料轉換,每次都是潛在的故障點
- 版本追蹤是手動的——Cleanlab 是在哪個版本的標籤上運行的?Label Studio 中的當前標籤是修正後的還是原始的?
審計追蹤空白
這是最重要的整合問題,尤其對受監管行業而言。
每個工具維護自己的日誌:
- Docling:記錄解析事件和提取品質
- Label Studio:記錄標注事件和使用者操作
- Cleanlab:記錄品質分析結果
但沒有工具記錄工具之間發生的事情:
- Docling 的輸出何時被轉換為 Label Studio 使用?
- 使用了哪個版本的轉換腳本?
- 格式轉換期間是否有記錄被丟棄?
- Cleanlab 的修正何時被應用回 Label Studio?
- 誰批准了最終資料集的匯出?
這些跨工具事件是審計追蹤中斷的地方。在歐盟 AI 法案、HIPAA 或 GDPR 下,這些空白可能構成合規違規。
在三個工具之間建立統一的審計追蹤需要:
- 封裝每個工具間操作的自定義日誌框架
- 跨工具的時間戳同步
- 記錄級別追蹤(跨工具映射 ID)
- 呈現統一來源視圖的聚合層
這約需要 2 至 4 週的工程工作,以及隨著工具更新的持續維護。
維護負擔
每個工具獨立更新:
- Docling 發布新版本 → 測試轉換器相容性 → 如有需要則更新
- Label Studio 更新 → 測試匯出管道 → 測試匯入管道 → 如有需要則更新
- Cleanlab 更新 → 測試資料轉換 → 如有需要則更新
平均每年在三個工具中預計有 2 至 3 次重大更改。每次需要 1 至 3 天來診斷和修復。
自定義整合代碼(轉換器、轉換器、審計日誌、批次處理)也需要維護:
- 隨著邊緣案例的發現進行錯誤修復
- 隨著資料量增長進行效能優化
- 文件更新(如果存在文件的話)
總持續維護:每年 4 至 8 週的工程時間。
替代方案
整合稅的存在是因為這些工具是獨立設計的。每個工具在其特定功能上都表現出色,但並非設計為與其他工具協同工作。
處理所有三個功能的統一平台——解析、標注和品質評分——在單一系統中完全消除了整合稅。各階段之間沒有格式轉換。沒有跨工具審計追蹤空白。沒有需要維護的轉換器腳本。
Ertas Data Suite 採用這種方法:Ingest、Clean、Label、Augment 和 Export 都在同一個應用程式中運行,共享相同的資料模型和審計基礎設施。結果是零整合代碼、持續的來源追蹤,以及不需要 Docker 或 Python 的領域專家存取。
堆疊中的各個工具都很出色。稅在於它們之間的「+」號。
Turn unstructured data into AI-ready datasets — without it leaving the building.
On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.
Keep reading

Prodigy + Docling + Custom Scripts: A Real Enterprise Stack Audit
Walking through what a typical enterprise data preparation stack looks like in practice — Prodigy for annotation, Docling for parsing, custom scripts for everything else — and identifying the friction points.

PDF Parsing Accuracy Benchmark: Docling vs Unstructured vs Marker vs Visual Pipeline
Head-to-head benchmark comparing PDF parsing tools for AI training data — Docling (IBM), Unstructured.io, Marker (Datalab), and Ertas's visual pipeline approach — across table extraction, multi-column layout, scanned PDFs, and processing speed.

Data Preparation Time Estimator: How Long Does AI Data Prep Take by Document Type
A time estimation framework for AI data preparation by document type and volume. Compare manual vs automated processing times for PDFs, Word docs, Excel files, scanned documents, and more.