← 返回日报
🌐 机器翻译 · DeepSeek · HF Blog

PaddleOCR 3.5: Running OCR and Document Parsing Tasks with a Transformers Backend


PaddleOCR 3.5:使用 Transformers 后端运行 OCR 和文档解析任务


PaddleOCR 3.5 将 OCR 和文档解析任务更紧密地带入 Hugging Face 生态系统。在此版本中,受支持的 PaddleOCR 模型可以通过设置 engine="transformers",使用 Hugging Face Transformers 作为推理后端来运行。

PaddleOCR 持续提供 PP-OCRv5 等 OCR 模型系列以及 PaddleOCR-VL 1.5 等文档解析模型系列,而 Transformers 成为运行这些模型所支持的推理后端之一。

在 Hugging Face Spaces 上体验在线演示: https://huggingface.co/spaces/PaddlePaddle/paddleocr-3.5-transformers-demo

有什么变化?

PaddleOCR 3.5 引入了一个更灵活的推理引擎接口。开发者可以通过 engine 参数选择后端,并通过 engine_config 传递后端特定的选项。在实践中,这意味着:

理解这个技术栈的一个简单方式:

| 层级 | 含义 | 示例 | |------|------|------| | 应用层 | 使用 OCR 和文档解析输出的应用程序 | RAG、智能体、Document AI... | | 模型层 | OCR 和文档解析能力 | PP-OCRv5、PaddleOCR-VL 1.5... | | 推理后端层 | 用于运行受支持模型的运行时 | Paddle 静态图、Paddle 动态图、Transformers |

本次发布主要涉及推理后端层:PaddleOCR 继续提供 OCR 和文档解析能力,而 Transformers 为受支持的 PaddleOCR 模型提供了另一个后端选项,使其能够自然地融入以 Hugging Face 为中心的环境。更广泛的 Document AI 工作流仍由开发者和应用构建者掌控。

为什么这很重要

对于 RAG、Document AI 和文档智能体应用来说,困难的部分往往在 LLM 之前就开始了。开发者首先需要将 PDF、扫描文档、截图、表格、图表、公式以及复杂的页面布局转化为可靠的结构化数据。如果这个数据摄取环节薄弱,下游的 LLM 工作流可能会遗漏关键信息、检索到错误的上下文,或产生不可靠的答案。

PaddleOCR 通过提供 PP-OCRv5 等 OCR 模型系列以及 PaddleOCR-VL-1.5 等文档解析模型系列,帮助应对这一文档摄取挑战。借助 PaddleOCR 3.5,这些能力现在可以更轻松地与以 Transformers 为中心的技术栈对接。受支持的 PaddleOCR 模型可以使用 Transformers 后端运行,而 PaddleOCR 继续在后台管理 OCR 或文档解析 pipeline。

对于开发者来说,这意味着更少的集成摩擦,以及从文档到下游 RAG、智能体、搜索、分析或自动化工作流的更自然路径。

快速开始

安装 PaddleOCR 3.5、PaddleX、Transformers 以及适合你硬件的 PyTorch 版本。例如,在 CUDA 12.6 环境中:

python -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
python -m pip install "paddleocr==3.5.0" "paddlex==3.5.2" "transformers>=5.4.0"

对于 CPU、ROCm 或其他环境,请安装与目标硬件匹配的 PyTorch 版本。

从命令行运行:

paddleocr ocr \
  -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png \
  --device gpu:0 \
  --engine transformers

或者使用 Python API:

from paddleocr import PaddleOCR

pipeline = PaddleOCR(
    device="gpu:0",
    engine="transformers",
    use_doc_orientation_classify=False,
    use_doc_unwarping=False,
    use_textline_orientation=False,
    engine_config={
        "dtype": "float32",
    },
)

results = pipeline.predict("https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png")
for result in results:
    print(result)

Hugging Face Space 使用 float32 以确保广泛的兼容性。对于你自己的硬件,你可以通过 engine_config 调整后端特定选项:

engine_config = {
    "dtype": "bfloat16",
    "device_type": "gpu",
    "device_id": 0,
    "attn_implementation": "sdpa",
}

最佳配置取决于你的模型、硬件和部署环境。

何时使用 Transformers 后端?

当你希望 PaddleOCR 的 OCR 和文档解析能力更自然地融入以 Hugging Face 为中心的技术栈时,请使用 Transformers 后端。如果你正在构建 RAG、Document AI、搜索、分析或智能体应用,并且已经依赖 PyTorch / Transformers 基础设施进行模型加载、实验、部署或模型工件管理,这一点尤其有用。

Transformers 后端在以下情况下是很好的选择:

当最大化 OCR 或文档解析吞吐量是首要目标时,通常推荐使用 PaddleOCR 默认的 paddle_static 后端。

本次发布并非要用一个后端取代另一个后端,而是为开发者提供更多灵活性:使用 PaddleOCR 获得 OCR 和文档解析能力,并选择最适合你技术栈的推理后端。

立即尝试

在 Hugging Face Spaces 上体验 PaddleOCR 3.5 Transformers 演示: https://huggingface.co/spaces/PaddlePaddle/paddleocr-3.5-transformers-demo

在 Hub 上探索 PaddleOCR 模型: https://huggingface.co/PaddlePaddle/models

📖 阅读原文 →