PaddlePaddle / PaddleOCR
PaddlePaddle/PaddleOCR
PaddleOCR 是百度开源的领先 OCR 工具包,支持 100+ 语言,可将 PDF 和图片转换为结构化数据(Markdown/JSON),提供 PP-OCRv6、PaddleOCR-VL 等模型,广泛应用于 RAG 和智能体应用。
项目概览
项目概述
PaddleOCR 是百度开源的全球领先 OCR 工具包和文档 AI 引擎,旨在将 PDF 文档和图像转换为结构化、可供 LLM 直接使用的数据(JSON/Markdown)。它支持 100+ 语言,提供 PP-OCRv6、PaddleOCR-VL 等系列模型,被 Dify、RAGFlow 等众多项目采用,是构建智能 RAG 和 Agentic 应用的基础工具。
核心功能
- 智能文档解析(LLM-Ready):提供 SOTA 文档 VLM(PaddleOCR-VL-1.6,0.9B),在 OmniDocBench 上达到 96.3% 准确率,支持文本、公式、表格、印章、图表等元素的识别,输出 Markdown 和 JSON 格式。
- 结构感知转换:基于 PP-StructureV3,可将复杂 PDF 和图片转换为 Markdown 或 JSON,提供更细粒度的坐标信息(如表格单元格坐标)。
- 通用文本识别(场景 OCR):PP-OCRv6 支持 50 种语言(单模型),PP-OCRv5 支持 109 种语言,在自然场景、身份证、街景、工业部件等场景表现出色。
- 开发者生态:与 Dify、RAGFlow、Pathway、Cherry Studio 等深度集成,支持多种硬件后端(NVIDIA GPU、Intel CPU、昆仑芯 XPU 等),提供一键部署。
- 高性能推理:支持 TensorRT、OpenVINO、ONNX Runtime 等加速,提供 C++、C#、Java 等多语言部署方案。
适用与不适用场景
适用场景:
- 文档解析:将 PDF、扫描件、图片转换为 Markdown/JSON,用于 RAG、知识库构建。
- 场景文字识别:识别街景、广告牌、身份证、票据等自然场景中的文字。
- 多语言文档处理:支持中、英、日、韩、阿拉伯语等 100+ 语言。
- 表格、公式、印章、图表等复杂元素的识别与结构化。
- 构建 OCR 训练数据集,用于模型微调。
不适用场景:
- 需要实时视频流文字识别的场景(PaddleOCR 主要针对静态图像)。
- 对艺术字体、特殊古文字(如甲骨文)的识别,需要额外训练。
- 需要识别模型不支持的字符时,需更新字典并微调。
技术架构与依赖
- 编程语言:Python(主要),支持 C++、C#、Java 等部署。
- 核心框架:PaddlePaddle(飞桨)深度学习框架。
- 模型系列:PP-OCRv6、PP-OCRv5、PaddleOCR-VL、PP-StructureV3、PP-DocTranslation 等。
- 依赖:PaddlePaddle、OpenCV、Shapely 等。
- 硬件支持:CPU、GPU(NVIDIA)、XPU(昆仑芯)、NPU 等。
安装与快速开始
- 在线体验:访问 PaddleOCR 官网 使用体验中心和 API。
- 本地安装:
或使用 conda:pip install paddleocrconda install -c conda-forge paddleocr - 快速使用:
from paddleocr import PaddleOCR ocr = PaddleOCR(use_angle_cls=True, lang='ch') result = ocr.ocr('path/to/image.jpg', cls=True)
典型使用方法
- 文档解析:使用 PaddleOCR-VL 或 PP-StructureV3 将 PDF/图片转换为 Markdown 或 JSON。
- 场景文字识别:使用 PP-OCRv6 或 PP-OCRv5 识别自然场景中的文字。
- 表格识别:使用 PP-StructureV3 或 PP-Chart2Table 模块进行表格结构识别和转换。
- 服务化部署:使用 Flask、gunicorn 或 PaddleServing 部署为 Web 服务。
- 模型微调:基于预训练模型,使用自定义数据集进行微调。
配置与部署要点
- 模型下载:可通过环境变量
PADDLE_PDX_MODEL_SOURCE指定下载源(如 BOS),或使用model_dir指定本地模型路径。 - GPU 加速:安装对应 CUDA 版本的 PaddlePaddle,可启用 TensorRT、fp16 等加速。
- 性能优化:设置
enable_hpi=True启用高性能推理,调整batch_size、det_limit_side_len等参数。 - 服务部署:支持 Docker、Flask、gunicorn 等方式,可自定义 Docker 镜像和 SDK。
- 多语言支持:PP-OCRv6 单模型支持 50 种语言,PP-OCRv5 支持 109 种语言。
限制、风险与许可证
- 许可证:Apache-2.0。
- 限制:
- 对艺术字体、特殊古文字识别效果有限。
- 对视频流文字识别需自行抽帧处理。
- 模型训练需要大量标注数据,特定场景需微调。
- 风险:
- 依赖 PaddlePaddle 框架,需注意版本兼容性。
- 模型下载可能受网络影响,可配置镜像源。
官方链接
- GitHub 仓库:https://github.com/PaddlePaddle/PaddleOCR
- 官方网站:https://www.paddleocr.com
- 文档:https://www.paddleocr.ai
- 模型下载:HuggingFace、ModelScope
信息来源和分析时间
- 信息来源:GitHub 仓库 README、FAQ 文档、社区贡献文档、数据集文档。
- 分析时间:2026-07-22(基于仓库最新更新)。