Docling – 支援視覺大模型的開源項目

Back
Category : News

Docling 是一個開源的文檔處理工具包,由 IBM Research 開發並於 2024 年 7 月開源,現由 LF AI & Data Foundation 託管,採用 MIT 許可證。它的主要目標是簡化多種格式文檔的處理,將其轉換為適合生成式 AI(Generative AI)應用的格式,例如 RAG(檢索增強生成)和問答系統。以下是對 Docling 的介紹,基於其 GitHub 頁面和相關資料:

核心功能

Docling 專注於高效解析和轉換文檔,提供以下關鍵功能:

  • 多格式支持:能夠處理 PDF、DOCX、XLSX、PPTX、HTML、圖片等多種文檔格式。
  • 高級 PDF 解析:具備先進的 PDF 理解能力,包括頁面佈局分析、閱讀順序、表格結構、程式碼、公式和圖片分類等。
  • 統一文檔表示:使用 DoclingDocument 格式,提供結構化且表達豐富的統一表示,方便後續處理。
  • 多種導出選項:支持將文檔導出為 Markdown、HTML 和無損 JSON 格式,滿足不同應用需求。
  • 本地執行:支持本地運行,適合處理敏感數據或隔離環境(air-gapped environments)。
  • OCR 支持:針對掃描 PDF 和圖片提供廣泛的 OCR(光學字符識別)支持,減少對傳統 OCR 的依賴,通過計算機視覺模型提升效率。
  • 生成式 AI 整合:與 LangChain、LlamaIndex、Crew AI 和 Haystack 等框架提供即插即用整合,方便構建 AI 代理和 RAG 系統。
  • 視覺語言模型:支持視覺語言模型(SmolDocling),增強圖文混合內容的處理能力。

技術亮點

  • AI 模型驅動:Docling 內置兩大開源 AI 模型:
  • DocLayNet:用於頁面元素佈局分析的高精度對象檢測器。
  • TableFormer:先進的表格結構識別模型,精準提取表格內容和結構。
  • 高效運行:可在普通硬體上高效運行,無需昂貴設備,對 CPU 和 GPU 均提供優化(GPU 加速推薦用於生產環境)。
  • 簡單易用:提供 Python API 和命令行界面(CLI),只需幾行程式碼即可開始使用。例如:
  from docling.document_converter import DocumentConverter
  source = "https://arxiv.org/pdf/2408.09869"
  converter = DocumentConverter()
  result = converter.convert(source)
  print(result.document.export_to_markdown())

應用場景

Docling 適用於多種企業級場景,特別是需要從複雜文檔中提取結構化數據並用於 AI 訓練或推理的場景:

  • RAG 系統:將 PDF、報告或企業文檔轉換為 LLM 可用的格式,提升檢索和生成質量。
  • 數據提取:從法律文件、技術手冊或企業政策中提取洞察,支援決策和自動化。
  • 模型訓練:處理大量文檔(如 210 萬份 Common Crawl PDF)以生成 AI 訓練數據,IBM 計劃用 Docling 處理 18 億份 PDF 訓練 Granite 多模態模型。
  • InstructLab 應用:Docling 已被 InstructLab 社區用於將用戶提交的公共數據集轉換為結構化格式,支援 Granite-7b 和 Granite-3.0-8b 模型的訓練。

開源生態與影響

  • 社區反響:自 2024 年 7 月開源以來,Docling 在 GitHub 上獲得超過 28.8k 星和 1.8k 次 Fork,顯示出強大的社區支持。Reddit 等平台上的開發者稱其輸出質量為開源解決方案中的最佳。
  • Red Hat 認可:Red Hat 將 Docling 視為企業級 RAG 系統的關鍵工具,解決了傳統文檔處理工具分散、輸出質量不一致的問題。
  • 日語支持:X 平台用戶反饋顯示,Docling 在處理日語文檔時表現良好,可作為 Azure Document Intelligence 的開源替代品。

安裝與使用

Docling 可通過包管理器輕鬆安裝,例如:

pip install docling

支援 Python 3.9 至 3.13,並提供 Docker 容器映像(如 quay.io/docling-project/docling-serve)以運行 API 服務。詳細安裝和使用指南可在官方文檔中找到。

引用建議

若在項目中使用 Docling,官方建議引用以下技術報告:

@techreport{Docling,
  author = {Deep Search Team},
  month = {8},
  title = {Docling Technical Report},
  url = {https://arxiv.org/abs/2408.09869},
  eprint = {2408.09869},
  doi = {10.48550/arXiv.2408.09869},
  version = {1.0.0},
  year = {2024}
}

未來展望

Docling 團隊計劃擴展其功能,處理更複雜的數據類型,如數學公式、圖表和商業表單,進一步釋放企業數據在 AI 應用中的潛力。

總結

Docling 是一個功能強大、易於使用的開源文檔處理工具,特別適合需要高效解析和轉換複雜文檔的生成式 AI 應用。其先進的 PDF 解析能力、與主流 AI 框架的無縫整合以及本地運行特性,使其成為企業和開發者的理想選擇。更多詳情可訪問 Docling GitHub 頁面官方文檔