预制服务
容器化部署 PaddleOCR-VL-0.9B
此镜像提供了标准化的 API 接口 ,让您能够便捷地通过 API 调用方式 访问和使用所有功能。
1. 在共绩算力上运行 PaddleOCR-VL-0.9B
共绩算力平台提供预构建的 PaddleOCR-VL-0.9B 容器镜像,用户无需本地复杂环境配置,可快速完成部署并启用服务。以下是详细部署步骤:
1.1 创建部署服务
登录共绩算力控制台,在控制台首页点击”弹性部署服务”进入管理页面。首次使用需确保账户已开通弹性部署服务权限。

1.2 选择 GPU 型号
根据实际需求选择 GPU 型号:
初次使用或调试阶段,推荐配置单张 NVIDIA RTX 4090 GPU

1.3 选择预制镜像
在”服务配置”模块切换至”预制服务”选项卡,选择 PaddleOCR-VL-0.9B 官方镜像。
1.4 部署并访问服务
点击”部署服务”,平台将自动拉取镜像并启动容器。

从快捷访问那里把服务端的 URL 复制出来。
2.本地客户端代码
目前这个方案有点麻烦,还是要装一个 paddle 的包,不过**CPU 即可运行,**享受云端充足算力。
pip install paddlepaddle
pip install "paddleocr[doc-parser]"
参考下面的代码,替换 url 和图片的路径。
URL 后面不需要再拼上:8080 接口,复制过来的只在后面加/v1 就行
from paddleocr import PaddleOCRVL
import time
pipeline = PaddleOCRVL(vl_rec_backend="vllm-server",
vl_rec_server_url="https://deployment-1717-t68kcrlt-8080.550c.cloud/v1")
start_time = time.time()
output = pipeline.predict("./table_test/pdf.png")
end_time = time.time()
print(f"预测耗时:{end_time - start_time:.2f} 秒")
for res in output:
res.print()
res.save_to_json(save_path="output")
res.save_to_markdown(save_path="output")
运行上面的代码,paddle 第一次先要去下载一个 layout 模型,之后会缓存在本地。这个模型可以用 CPU 跑。

然后在共绩算力的后台可以看到请求的日志。

最后再 output 目录下就可以看到 OCR 的结果了。
有了 GPU 速度还是快很多的。昨天在 modelscope 的 gradio demo,用 CPU 跑一张测试图片大概要30 秒,今天同样的图片用了一半 GPU(layout 模型用 CPU,OCR 模型用 GPU)只要10 秒。
3.可能遇到的坑
如果遇到这样的报错
File "D:\code\susu\table_ocr\pdclient\Lib\site-packages\paddleocr_common_args.py", line 61, in prepare_common_init_args
device = get_default_device()
^^^^^^^^^^^^^^^^^^^^
File "D:\code\susu\table_ocr\pdclient\Lib\site-packages\paddlex\utils\device.py", line 44, in get_default_device
if paddle.device.is_compiled_with_cuda() and paddle.device.cuda.device_count() > 0:
^^^^^^^^^^^^^
AttributeError: module 'paddle' has no attribute 'device'
可以改源码跳过这一段直接返回 cpu。
