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 服务。

相关

  • 项目
  • 项目
  • 项目
  • 项目