Text-Extract-API:将文档转换为结构化数据,不再头疼
是否曾需要从PDF报告或扫描文档中提取数据?手动复制文本、与歪斜的表格搏斗、丢失公式——这些熟悉的噩梦?Text-Extract-API为这个问题提供了一个优雅的解决方案,将现代OCR技术和语言模型相结合。
这个工具是什么?
Text-Extract-API是一个Python API,允许你:
- 将PDF、Word、PowerPoint和图像转换为Markdown或JSON
- 提取表格、数字和数学公式
- 清理文档中的个人数据(PII)
- 使用LLM模型(Llama 3、MiniCPM等)提高识别质量
主要优势是所有操作都在本地进行,无需将数据发送到云服务。
主要功能
1. 支持多种格式和识别策略
该项目支持多种OCR引擎:
- EasyOCR — 支持30多种语言的快速文本识别
- MiniCPM-V — 可用于商业用途的开源模型
- Llama 3.2 Vision — 准确性最高,但资源消耗较大
- Remote API — 用于与Marker PDF等外部服务集成
转换示例命令:
python client/cli.py ocr_upload --file example.pdf --strategy easyocr
2. 使用LLM改进文本
识别后,文本可以由语言模型进一步处理:
- OCR错误纠正
- 结构化数据提取(例如,将医疗报告转换为JSON)
- 个人数据删除
python client/cli.py ocr_upload --file medical_report.pdf --prompt_file extract_to_json.txt --model llama3.1
3. 灵活的结果存储
支持多种处理后文档的存储策略:
- 本地文件系统
- Google Drive
- Amazon S3
通过YAML文件进行配置,使系统易于适应你的需求。
技术细节
项目架构基于:
- FastAPI 用于REST API
- Celery 用于异步任务处理
- Redis 用于结果缓存
- Ollama 用于本地LLM模型
提供两种部署方式:
- 原生运行(适用于配备Apple Silicon的Mac)
- Docker容器(包括GPU加速版本)
实际应用
Text-Extract-API可以在哪些场景发挥作用?
律师事务所可以自动化处理合同扫描,将关键条款提取为结构化格式。
医疗机构可以获得将纸质报告转换为电子记录的工具,无需手动录入数据。
金融科技初创公司可以解析银行对账单和发票,提取数据用于会计系统。
研究人员会欣赏在数字化旧书和科学论文时保留公式和表格的能力。
5分钟快速上手
- 安装Docker和Ollama
- 克隆仓库:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
- 启动服务:
docker-compose up --build
- 开始转换你的第一个文档!
Text-Extract-API的特点: ✅ 本地解决方案,无需将数据发送到云端 ✅ 支持多种格式和语言 ✅ 灵活集成多种存储选项 ✅ 通过LLM提升质量
对于需要在应用程序中处理文档但又不想依赖商业API或花时间实现自己的OCR的开发者来说,这个项目尤其值得关注。
相关项目