ForcePilot/docs/OCR_REFACTORING_GUIDE.md

1.6 KiB

OCR 重构说明

主要变更

1. 简化的处理器类型

  • 移除了复杂的本地调用 MinerU 版本
  • 统一使用 HTTP API 接口
  • 现在只有 3 种处理器: RapidOCR, MinerU, PaddleX

2. 统一的接口

所有处理器都实现 BaseDocumentProcessor 接口:

  • process_file() - 处理文件
  • check_health() - 健康检查
  • get_service_name() - 获取服务名

3. 使用方式

# 新方式 (推荐)
from src.plugins.document_processor_factory import DocumentProcessorFactory
text = DocumentProcessorFactory.process_file("mineru_ocr", file_path, params)

# 旧方式 (仍可用)
from src.plugins import ocr
text = ocr.process_file_mineru(file_path, params)

迁移说明

代码迁移

# 旧代码 (仍可用)
from src.plugins import ocr
text = ocr.process_file_mineru(file_path, params)

# 新代码 (推荐)
from src.plugins.document_processor_factory import DocumentProcessorFactory
text = DocumentProcessorFactory.process_file("mineru_ocr", file_path, params)

处理器类型

  • onnx_rapid_ocr: RapidOCR (CPU)
  • mineru_ocr: MinerU HTTP API (GPU)
  • paddlex_ocr: PaddleX (GPU)

环境变量

# MinerU API
export MINERU_API_URI="http://localhost:30001"

# PaddleX
export PADDLEX_URI="http://localhost:8080"

主要改进

  1. 简化架构: 从4个处理器减少到3个
  2. 统一接口: 所有处理器实现相同接口
  3. 内存优化: PDF 处理内存占用从 ~800MB 降至 ~150MB
  4. 错误处理: 统一异常处理机制
  5. 图片验证: 强制要求图片文件必须启用 OCR