enoch3712/ExtractThinker

ExtractThinker is a Document Intelligence library for LLMs, offering ORM-style interaction for flexible and powerful document workflows.

解決的問題

ExtractThinker 簡化了將非結構化文檔(如 PDF、圖像和電子表格)轉換為結構化、已驗證 Python 對象的過程。它允許用戶使用 Pydantic 合約定義所需的數據模式,從而免去了編寫複雜解析邏輯的手動工作。

工作原理

該庫結合了文檔加載器、LLM 和 Pydantic 進行驗證。用戶定義一個 Contract 類來指定他們想要提取的字段和約束。然後,Extractor 通過選定的解析器加載文檔,通過 LLM 處理文本,並將輸出映射到已驗證的 Pydantic 對象。對於複雜的工作流程,它還包括用於文檔分類、拆分混合文檔包以及通過完成策略處理長輸入的工具。

目標用戶

它專為需要從各種文檔格式中提取特定數據,並確保所得數據符合嚴格類型和值模式的開發人員而設計。

特點

  • 類型化數據提取:使用 Pydantic 合約確保提取的數據經過驗證且具有類型。
  • 文檔多樣性:支持多種用於 PDF、圖像、表格和電子表格的加載器(包括 PyMuPDF、Camelot、Tabula 和 Adobe)。
  • 工作流工具:內置文檔分類和拆分功能。
  • 靈活的 LLM 集成:通過 Ollama 與各種提供商和本地模型兼容。
  • 高級功能:提供並行字段提取、使用 SQLite 的頁面檢索以及 MCP 服務。

相關

  • 專案
  • 專案
  • 專案
  • 專案