ExtractThinker:基于大语言模型的智能文档处理工具
你是否曾经为从各种文档中提取结构化数据而烦恼?无论是处理发票、收据还是身份证件,手动录入数据既耗时又容易出错。ExtractThinker 的出现,旨在彻底解决这个问题。它是一个基于大语言模型的文档智能处理库,采用类似 ORM 的交互方式,让开发者能够轻松地从各类文档中提取和分类结构化数据。
截至收录:
ExtractThinker项目stars数:1456
ExtractThinker项目forks数:143
ExtractThinker项目目录截图

ExtractThinker项目核心亮点
🚀 灵活的文档加载器:支持多种文档加载器,包括 Tesseract OCR、Azure Form Recognizer、AWS Textract、Google Document AI 等主流 OCR 服务。
📝 可定制的数据契约:使用 Pydantic 模型定义自定义提取契约,实现精确的数据提取和类型验证。
🎯 智能文档分类:支持自定义分类策略,能够准确识别文档类型并应用相应的处理流程。
⚡ 异步处理能力:采用异步处理机制,高效处理大型文档和批量任务。
🔧 多格式文档支持:无缝支持 PDF、图片、电子表格等多种文档格式。
🤖 多 LLM 提供商集成:轻松集成 OpenAI、Anthropic、Cohere、Azure OpenAI 及本地模型(如 Ollama)。
ExtractThinker项目快速开始
只需几步,你就能开始使用 ExtractThinker 进行文档处理:
- 安装:
pip install extract_thinker - 基础数据提取示例:
import os from extract_thinker import Extractor, DocumentLoaderPyPdf, Contractclass InvoiceContract(Contract): invoice_number: str invoice_date: str extractor = Extractor() extractor.load_document_loader(DocumentLoaderPyPdf()) extractor.load_llm("gpt-4o-mini") result = extractor.extract("invoice.pdf", InvoiceContract) print("Invoice Number:", result.invoice_number) print("Invoice Date:", result.invoice_date) - 文档分类示例:
result = extractor.classify( "document.pdf", classifications, image=True ) print(f"Document classified as: {result.name}")
ExtractThinker项目应用场景
企业财务处理:自动从发票、收据中提取关键信息,如发票号码、日期、金额等,大幅提升财务处理效率。
证件信息提取:快速处理身份证、驾驶证等证件,提取姓名、证件号码等结构化数据。
批量文档处理:支持批量处理大量文档,适用于银行、保险等行业的文档自动化处理需求。
智能文档分类:自动识别和分类不同类型的文档,为后续处理流程提供基础。
ExtractThinker项目链接
enoch3712 / ExtractThinker项目地址:https://github.com/enoch3712/ExtractThinker
本文地址:https://www.tgoos.com/27647
