>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

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模型

提供两种部署方式:

  1. 原生运行(适用于配备Apple Silicon的Mac)
  2. Docker容器(包括GPU加速版本)

实际应用

Text-Extract-API可以在哪些场景发挥作用?

律师事务所可以自动化处理合同扫描,将关键条款提取为结构化格式。

医疗机构可以获得将纸质报告转换为电子记录的工具,无需手动录入数据。

金融科技初创公司可以解析银行对账单和发票,提取数据用于会计系统。

研究人员会欣赏在数字化旧书和科学论文时保留公式和表格的能力。

5分钟快速上手

  1. 安装Docker和Ollama
  2. 克隆仓库:
git clone https://github.com/CatchTheTornado/text-extract-api.git
cd text-extract-api
  1. 启动服务:
docker-compose up --build
  1. 开始转换你的第一个文档!

Text-Extract-API的特点: ✅ 本地解决方案,无需将数据发送到云端 ✅ 支持多种格式和语言 ✅ 灵活集成多种存储选项 ✅ 通过LLM提升质量

对于需要在应用程序中处理文档但又不想依赖商业API或花时间实现自己的OCR的开发者来说,这个项目尤其值得关注。

提供了演示版本供测试,所有问题可以在项目的Discord社区中讨论。

相关项目