ExtractThinker入门指南 - 基于LLM的灵活文档智能处理库
ExtractThinker是一个专注于智能文档处理(IDP)的开源项目,它提供了基于大型语言模型(LLM)的ORM风格交互,可以实现灵活而强大的文档数据提取工作流。如果你正在寻找一个高效的文档数据提取解决方案,ExtractThinker绝对值得一试。
🌟 主要特性
ExtractThinker具有以下几个突出特点:
- 支持多种文档加载器,包括Tesseract OCR、Azure Form Recognizer、AWS TextExtract、Google Document AI等。
- 通过契约定义实现可定制化的数据提取。
- 异步处理机制,提高文档处理效率。
- 内置支持多种文档格式。
- 文件与LLM之间的ORM风格交互。
📦 安装
使用pip可以轻松安装ExtractThinker:
pip install extract_thinker
🚀 快速开始
以下是一个使用ExtractThinker提取发票数据的简单示例:
import os
from dotenv import load_dotenv
from extract_thinker import DocumentLoaderTesseract, Extractor, Contract
load_dotenv()
cwd = os.getcwd()
class InvoiceContract(Contract):
invoice_number: str
invoice_date: str
tesseract_path = os.getenv("TESSERACT_PATH")
test_file_path = os.path.join(cwd, "test_images", "invoice.png")
extractor = Extractor()
extractor.load_document_loader(
DocumentLoaderTesseract(tesseract_path)
)
extractor.load_llm("claude-3-haiku-20240307")
result = extractor.extract(test_file_path, InvoiceContract)
print("Invoice Number: ", result.invoice_number)
print("Invoice Date: ", result.invoice_date)
🧠 为什么选择ExtractThinker?
虽然LangChain是一个功能强大的通用框架,但ExtractThinker专注于智能文档处理(IDP)领域。通过利用LLM的能力,ExtractThinker在提高IDP准确性方面取得了显著进展。
📚 学习资源
🤝 参与贡献
ExtractThinker欢迎社区贡献!如果你想参与项目开发,可以按照以下步骤:
- Fork项目仓库
- 创建新的功能分支或bug修复分支
- 编写代码并添加测试
- 运行测试确保一切正常
- 提交Pull Request,描述你的修改
📄 许可证
ExtractThinker采用Apache License 2.0开源许可。详细信息请查看仓库中的LICENSE文件。
📞 联系方式
如有任何问题或建议,欢迎在GitHub仓库中提出issue。
ExtractThinker为文档数据提取提供了一种灵活高效的解决方案。无论你是需要处理发票、驾照还是其他类型的文档,ExtractThinker都能帮助你轻松实现智能化的数据提取。现在就开始使用ExtractThinker,体验基于LLM的新一代文档智能处理技术吧!