
PaddleOCR-VL 昆仑芯 XPU 部署与推理实战从环境准备到服务化部署完整指南【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCRPaddleOCR-VL 是 PaddleOCR 面向文档智能解析推出的视觉语言模型系列采用版面分析 VLM 识别两阶段流程将图像与 PDF 文档转化为可供 LLM 直接消费的结构化数据。本文以 PaddleOCR 官方昆仑芯 XPU 使用教程为核心完整讲解在昆仑芯 P800 等 XPU 设备上从本地环境准备、命令行/Python 快速推理、FastDeploy VLM 推理服务到 Docker Compose 服务化部署与产线配置调整的端到端流程并辅以仓库源码Dockerfile、compose.yaml、产线配置进行底层印证。读完本文你将掌握在昆仑芯 XPU 上完整落地 PaddleOCR-VL 文档解析能力的每一步操作。硬件支持范围与阅读路径PaddleOCR-VL 已在昆仑芯 P800上完成精度与速度验证鉴于硬件环境的多样性其他昆仑芯 XPU 型号的兼容性尚未验证欢迎社区用户在更多硬件上测试并反馈结果。在昆仑芯 XPU 上可使用的推理方式与目标如下目标本硬件上的支持情况从哪里开始阅读本地直接推理支持阅读第 1 节本地运行环境准备和第 2 节快速开始。客户端 VLM 推理服务支持先完成本地直接推理再阅读第 3 节使用 VLM 推理服务。完整 API 服务支持 Docker Compose 部署先阅读第 4.1 节再继续阅读第 4.2 节客户端调用部分和第 4.3 节产线配置调整部分。模型微调支持阅读第 5 节模型微调。从主教程的推理方式与硬件支持矩阵可以看到昆仑芯 XPU 上PaddlePaddle与PaddlePaddle FastDeploy两种推理方式为✅ 支持状态而 Transformers、vLLM、SGLang 等路径在 XPU 上均为 适配中或待进一步验证。因此本文所有示例均围绕 PaddlePaddle 引擎与 FastDeploy 后端展开与仓库中昆仑芯专用镜像latest-kunlunxin-xpu系列的定位完全一致。需要特别强调的是PaddleOCR-VL 的完整能力必须依赖版面分析 VLM 识别协同的完整流程单独调用 VLM 组件例如直接请求 vLLM / FastDeploy 服务的裸接口并不等于运行 PaddleOCR-VL这一点在主教程中有明确说明后续章节会反复涉及这一概念。1. 本地运行环境准备昆仑芯 XPU 本地运行环境有两种准备方式任选一种即可本地运行环境准备方式状态说明官方 Docker 镜像支持并提供步骤见 1.1 节。手动安装推理引擎和 PaddleOCR支持并提供步骤见 1.2 节。官方强烈推荐采用 Docker 镜像方式以最大程度减少环境问题。注意昆仑芯 XPU 本地推理仅支持 PaddlePaddle 推理引擎。1.1 方法一使用 Docker 镜像要求 Docker 版本 19.03执行以下命令启动 PaddleOCR-VL 运行环境docker run \ -it \ --network host \ --user root \ --privileged \ --shm-size 64g \ ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-vl:latest-kunlunxin-xpu \ /bin/bash # 在容器中调用 PaddleOCR CLI 或 Python API参数要点说明--network host使用宿主机网络便于容器内服务被外部访问--privileged与--shm-size 64gXPU 设备访问与共享内存所需VLM 推理对共享内存有较高要求latest-kunlunxin-xpu对应最新版本的在线镜像大小约13 GB。如需在无法连接互联网的环境中启动服务请将镜像更换为离线版本ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-vl:latest-kunlunxin-xpu-offline大小约15 GB镜像内已内置 PaddleOCR-VL 所需模型与字体资源。镜像标签约定TIP标签后缀为latest-xxx的镜像对应最新版本若本地已有同名latest镜像但希望使用最新功能或修复建议先重新执行docker pull更新镜像如需特定版本可将latest替换为版本号paddleocrmajor.minor例如ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-vl:paddleocr3.3-kunlunxin-xpu-offline。从仓库中的昆仑芯镜像构建文件 pipeline.Dockerfile 可以看到官方镜像的构成逻辑基础镜像基于device/paddle-xpu:ubuntu20-x86_64-gcc84-py310先安装paddlepaddle-xpu3.2.1来源为飞桨官方 xpu-p800 稳定源再安装paddleocr[doc-parser]与paddlex[serving]并预置中文字体fonts-noto-cjk、fonts-wqy-microhei等以及离线模式下预下载的 UVDoc、PP-LCNet_x1_0_doc_ori、PP-DocLayoutV3、PaddleOCR-VL-1.6 四个模型包。这解释了为什么离线镜像体积更大却能在断网环境中直接运行。1.2 方法二手动安装推理引擎和 PaddleOCR若无法使用 Docker可手动安装。本文档验证过的 Python 版本范围为3.9–3.13且强烈建议在虚拟环境中安装以避免依赖冲突# 创建虚拟环境 python -m venv .venv_paddleocr # 激活环境 source .venv_paddleocr/bin/activate执行如下命令完成安装python -m pip install paddlepaddle-xpu3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/xpu-p800/ python -m pip install -U paddleocr[doc-parser]请注意安装 3.2.1 及以上版本的飞桨框架。该版本号与仓库 pipeline.Dockerfile 及 vlm.Dockerfile 中锁定的paddlepaddle-xpu3.2.1完全一致这也是 XPU 上已验证可用的最低版本要求。paddleocr[doc-parser]额外引入文档解析所需的依赖集合其中包含 PaddleOCR-VL 产线的核心功能包。2. 快速开始PaddleOCR-VL 在昆仑芯 XPU 上的快速开始与主教程一致唯一区别是必须显式指定devicexpu。2.1 CLI 命令行体验首次运行会自动下载官方模型请确保环境可联网并预留下载与初始化时间。建议附加--save_path ./output便于在本地查看结果# 昆仑芯 XPU paddleocr doc_parser -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png --device xpu --save_path ./output执行成功后终端会打印结构化结果同时结果文件保存到当前目录output中。doc_parser命令支持丰富的调节参数其中与 XPU 推理强相关的关键参数包括--device指定推理设备XPU 写法为xpu或带卡号的xpu:0表示第 1 块 XPU不设置时默认优先使用本地 GPU 0 号设备无 GPU 则回退 CPU--use_doc_orientation_classify True启用文档方向分类模块默认关闭--use_doc_unwarping True启用文本图像矫正模块默认关闭--use_layout_detection False关闭版面分析模块默认开启。注意关闭后仅执行 VLM 识别不构成完整 PaddleOCR-VL 流程--use_chart_recognition/--use_seal_recognition图表解析与印章识别开关默认关闭--layout_threshold版面模型得分阈值取0-1浮点数--layout_unclip_ratio版面检测框扩张系数支持浮点数或横纵两个方向的扩张系数--layout_merge_bboxes_mode重叠检测框过滤模式large保留外框、small保留内框、union全部保留--layout_shape_mode版面结果几何形状表示模式rect/quad/poly/auto默认auto--use_queues是否启用内部队列异步流水线默认开启对页数较多的 PDF 或大量文件的目录处理效率提升明显--engine推理引擎XPU 场景使用默认值等价于paddle即可支持paddle_static/paddle_dynamic等取值详见推理引擎与配置说明。2.2 Python 脚本方式集成在项目中集成时通过PaddleOCRVL对象完成推理初始化时传入devicexpufrom pathlib import Path from paddleocr import PaddleOCRVL output_dir Path(./output) output_dir.mkdir(parentsTrue, exist_okTrue) # 昆仑芯 XPU pipeline PaddleOCRVL(devicexpu) # 可选功能开关示例 # pipeline PaddleOCRVL(devicexpu, use_doc_orientation_classifyTrue) # pipeline PaddleOCRVL(devicexpu, use_doc_unwarpingTrue) # pipeline PaddleOCRVL(devicexpu, use_layout_detectionFalse) output pipeline.predict(https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png) for res in output: res.print() # 打印结构化输出 res.save_to_json(save_pathoutput_dir) # 保存 JSON 结果 res.save_to_markdown(save_pathoutput_dir) # 保存 Markdown 结果 res.save_to_word(save_pathoutput_dir) # 保存 Word 结果针对多页 PDF可以逐页推理后调用restructure_pages()完成跨页表格合并、多级标题重建与多页结果拼接input_file ./your_pdf_file.pdf pipeline PaddleOCRVL(devicexpu) output pipeline.predict(inputinput_file) pages_res list(output) # 合并跨页表格 # output pipeline.restructure_pages(pages_res, merge_tablesTrue) # 合并跨页表格重建多级标题 # output pipeline.restructure_pages(pages_res, merge_tablesTrue, relevel_titlesTrue) # 合并跨页表格重建多级标题合并多页结果为一页 output pipeline.restructure_pages(pages_res, merge_tablesTrue, relevel_titlesTrue, concatenate_pagesTrue) for res in output: res.print() res.save_to_json(save_pathoutput_dir) res.save_to_markdown(save_pathoutput_dir)处理多个文件时建议将包含文件的目录路径或文件路径列表传入predict以最大化处理效率# 传入目录路径 output pipeline.predict(imgs) # 或传入文件路径列表 output pipeline.predict([imgs/file1.png, imgs/file2.png, imgs/file3.png])PaddleOCRVL对象的关键构造参数XPU 场景常用说明如下参数说明类型默认值pipeline_version产线版本可选v1、v1.5、v1.6strv1.6layout_detection_model_name/layout_detection_model_dir版面分析模型名称 / 目录为None时下载官方模型str\|NoneNonevl_rec_model_name/vl_rec_model_dir多模态识别VLM模型名称 / 目录str\|NoneNoneuse_doc_orientation_classify是否启用文档方向分类bool\|NoneNone初始化为Falseuse_doc_unwarping是否启用文本图像矫正bool\|NoneNone初始化为Falseuse_layout_detection是否启用版面分析bool\|NoneNone初始化为Trueuse_chart_recognition/use_seal_recognition图表解析 / 印章识别开关bool\|NoneNone初始化为Falsedevice推理设备XPU 写法为xpu或xpu:0str\|NoneNoneuse_queues是否启用内部队列异步流水线bool\|NoneNone初始化为Truepredict()方法的参数与实例化参数含义基本一致调用时传参优先级更高此外还支持repetition_penalty、temperature、top_p、min_pixels、max_pixels、max_new_tokens等 VLM 采样与图像分辨率控制参数以及vlm_extra_args可针对 OCR / 表格 / 图表 / 公式 / 印章分别设置min_pixels/max_pixels分辨率范围。提示CLI 与 Python API 方式主要用于快速验证其推理速度、显存占用及稳定性未必满足生产要求。生产环境强烈建议使用专门的 VLM 推理服务即下一节内容。3. 使用 VLM 推理服务对于昆仑芯 XPU通过 VLM 推理服务接入专用后端可以提升默认配置下的推理性能更好地满足生产需求。示例使用FastDeploy作为 VLM 推理服务后端与昆仑芯镜像paddleocr-genai-fastdeploy-server:latest-kunlunxin-xpu的定位一致。IMPORTANT本节启动的服务仅负责 PaddleOCR-VL 流程中的VLM 推理环节不提供完整的端到端文档解析 API。强烈不建议直接通过 HTTP 请求或 OpenAI 客户端调用该服务处理文档图像。若需部署具备 PaddleOCR-VL 完整能力的服务请阅读第 4 节服务化部署。3.1 启动 VLM 推理服务昆仑芯 XPU 上支持的启动方式如下启动方式状态说明官方 Docker 镜像支持并提供步骤本节提供 FastDeploy 推理服务的启动步骤。通过 PaddleOCR CLI 安装依赖后启动当前不支持当前硬件不支持该路径。直接使用推理加速框架启动未验证可通过 FastDeploy 后端启动但尚未验证直接使用 FastDeploy 原生方式启动。使用官方 Docker 镜像启动 FastDeploy 推理服务要求 Docker 版本 19.03docker run \ -it \ --network host \ --user root \ --privileged \ --shm-size 64g \ ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-fastdeploy-server:latest-kunlunxin-xpu \ paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8118 --backend fastdeploy离线环境请将镜像更换为ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-fastdeploy-server:latest-kunlunxin-xpu-offline在线镜像约 53 GB离线镜像约 55 GB。版本固定镜像示例paddleocr-genai-fastdeploy-server:paddleocr3.3-kunlunxin-xpu-offline。若需调整服务端参数如显存占用请按主教程 3.3.1 服务端参数调整创建配置文件挂载进容器并用--backend_config指定docker run \ -it \ --rm \ --network host \ --user root \ --privileged \ --shm-size 64G \ -v ./fastdeploy_config.yml:/tmp/fastdeploy_config.yml \ ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleocr-genai-fastdeploy-server:latest-kunlunxin-xpu \ paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8118 --backend fastdeploy --backend_config /tmp/fastdeploy_config.ymlpaddleocr genai_server命令支持--model_name模型名称、--model_dir模型目录、--host主机名、--port端口、--backend后端可选vllm/sglang/fastdeploy、--backend_configYAML 后端配置文件等参数。从仓库 vlm.Dockerfile 可以看到昆仑芯 VLM 服务镜像基于fastdeploy-xpu:2.3.0安装fastdeploy_xpu与paddlepaddle_xpu专用 wheel 后容器默认 CMD 即执行paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8080 --backend fastdeploy。3.2 客户端使用方法客户端调用方式与主教程 3.2 客户端使用方法一致在昆仑芯 XPU 上运行客户端时需指定devicexpu。核心思路是客户端继续负责版面分析等完整流程中的其他环节仅将 VLM 推理交给专用服务处理。通过vl_rec_backend指定后端类型本硬件使用fastdeploy-server通过vl_rec_server_url指定服务地址paddleocr doc_parser --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/paddleocr_vl_demo.png \ --device xpu \ --vl_rec_backend fastdeploy-server \ --vl_rec_server_url http://localhost:8118/v1Python API 方式pipeline PaddleOCRVL(devicexpu, vl_rec_backendfastdeploy-server, vl_rec_server_urlhttp://localhost:8118/v1)如需指定服务端模型名称与鉴权信息可追加vl_rec_api_model_name与vl_rec_api_key参数。3.3 性能调优性能调优请参考主教程 3.3 性能调优核心手段包括服务端参数调整通过--backend_config传入 YAML 配置文件调整 FastDeploy 的显存占用、并发等参数客户端并发调整PaddleOCR 会将来自单张或多张输入图像中的子图分组并对服务器发起并发请求因此并发数对性能影响显著。CLI 与 Python API 通过vl_rec_max_concurrency调整最大并发请求数服务化部署则修改产线配置中VLRecognition.genai_config.max_concurrency字段。当客户端与 VLM 服务为 1 对 1 且服务端资源充足时可适当增大并发反之应降低并发以避免资源过载。4. 服务化部署服务化部署将 PaddleOCR-VL 以完整 API 服务的形式对外提供。注意本节服务与上一节的 VLM 推理服务有本质区别VLM 推理服务只负责完整流程中的一个环节VLM 推理并作为本节服务的底层服务被调用。昆仑芯 XPU 支持的部署方式部署方式状态说明Docker Compose 部署支持并提供步骤见 4.1 节。手动部署当前不支持当前硬件不支持该路径。4.1 使用 Docker Compose 部署首先从仓库获取 Compose 文件与环境变量配置文件Compose 文件deploy/paddleocr_vl_docker/accelerators/kunlunxin-xpu/compose.yaml环境变量文件deploy/paddleocr_vl_docker/accelerators/kunlunxin-xpu/.env将两个文件下载到同一目录后执行必须在 compose.yaml 和 .env 所在目录执行默认监听8080端口docker compose up启动后看到如下输出即表示成功paddleocr-vl-api | INFO: Started server process [1] paddleocr-vl-api | INFO: Waiting for application startup. paddleocr-vl-api | INFO: Application startup complete. paddleocr-vl-api | INFO: Uvicorn running on http://0.0.0.0:8080 (Press CTRLC to quit)部署原理与镜像编排该方案基于 FastDeploy 框架对 VLM 推理进行加速更适合生产环境部署。Docker Compose 通过读取.env和compose.yaml先后启动 2 个容器paddleocr-vlm-server底层 VLM 推理服务与paddleocr-vl-apiPaddleOCR-VL 产线服务。从仓库 compose.yaml 源码可以看到两个关键细节paddleocr-vl-api使用depends_oncondition: service_healthy确保 VLM 服务健康后再启动产线服务产线服务的启动命令为paddlex --serve --pipeline /home/paddleocr/pipeline_config_${VLM_BACKEND}.yaml --device xpu其中${VLM_BACKEND}来自.env即产线配置文件名随后端动态切换。仓库中的 .env 默认内容为API_IMAGE_TAG_SUFFIXlatest-kunlunxin-xpu-offline VLM_BACKENDfastdeploy VLM_IMAGE_TAG_SUFFIXlatest-kunlunxin-xpu-offline.env中各环境变量含义API_IMAGE_TAG_SUFFIX启动产线服务使用的镜像的标签后缀VLM_BACKENDVLM 推理后端VLM_IMAGE_TAG_SUFFIX启动 VLM 推理服务使用的镜像的标签后缀。提示镜像标签默认使用latest-kunlunxin-xpu-offline等离线标签。如需确保拉取到最新latest镜像可先执行docker compose pull再docker compose up如需特定版本可将两个后缀中的latest替换为paddleocrmajor.minor例如paddleocr3.3-kunlunxin-xpu-offline。离线部署说明除拉取镜像外此方式启动服务器后无需连接互联网。若需在离线环境中部署可先在联网机器上拉取 Compose 涉及的镜像导出并传输至离线机器导入即可在离线环境启动服务。常见自定义修改1. 更改 PaddleOCR-VL 服务的端口编辑compose.yaml中paddleocr-vl-api.ports。例如将服务端口更换为 8111paddleocr-vl-api: ... ports: - - 8080:8080 - 8111:8080 ...2. 指定服务所使用的 XPU编辑compose.yaml中两个服务的environment。例如使用卡 1 进行部署paddleocr-vl-api: ... environment: - XPU_VISIBLE_DEVICES: 1 ... paddleocr-vlm-server: ... environment: - XPU_VISIBLE_DEVICES: 1 ...3. 调整 VLM 服务端配置参考主教程 3.3.1 服务端参数调整生成配置文件后在compose.yaml中增加paddleocr-vlm-server的volumes与command字段将/path/to/your_config.yaml替换为实际路径paddleocr-vlm-server: ... volumes: /path/to/your_config.yaml:/home/paddleocr/vlm_server_config.yaml command: paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8118 --backend fastdeploy --backend_config /home/paddleocr/vlm_server_config.yaml ...4. 调整产线相关配置模型路径、批处理大小、部署设备等参考主教程 4.4 产线配置调整说明本文 4.3 节亦有摘要。4.2 客户端调用方式服务化部署的客户端调用方式含 API 参考与多语言调用示例与主教程 4.3 客户端调用方式一致。核心接口如下POST /layout-parsing进行版面解析infer请求体支持file图像/PDF 的 URL 或 Base64 编码内容、fileType0 表示 PDF1 表示图像含 TIFF、useLayoutDetection、layoutThreshold、promptLabel、temperature、minPixels/maxPixels、maxNewTokens、prettifyMarkdown、restructurePages、outputFormats当前仅支持docx、visualize等字段POST /restructure-pages重构多页结果请求体支持pages、mergeTables、relevelTitles、concatenatePages等字段。请求成功时响应体包含logId、errorCode固定 0、errorMsg固定 Success与result字段result.layoutParsingResults中每个元素包含prunedResult、markdown含text与images、outputImages、inputImage、exports等字段图像类二进制内容默认以 Base64 内联返回。Python 调用最小示例import base64 import requests BASE_URL http://localhost:8080 image_path ./demo.jpg with open(image_path, rb) as file: image_data base64.b64encode(file.read()).decode(ascii) payload { file: image_data, # Base64 编码的文件内容或者文件 URL fileType: 1, # 文件类型1 表示图像文件 } response requests.post(BASE_URL /layout-parsing, jsonpayload) assert response.status_code 200, (response.status_code, response.text) result response.json()[result]4.3 产线配置调整说明服务化部署的 PaddleOCR-VL 产线配置调整只需三步获取配置文件 → 修改配置文件 → 应用配置文件。若无需调整可忽略本节。获取配置文件Docker Compose 部署时根据后端下载对应的产线配置文件FastDeploydeploy/paddleocr_vl_docker/pipeline_config_fastdeploy.yaml昆仑芯 XPU 场景vLLMdeploy/paddleocr_vl_docker/pipeline_config_vllm.yaml以仓库 pipeline_config_fastdeploy.yaml 为例其顶层关键字段包括pipeline_name: PaddleOCR-VL-1.6产线名称batch_size: 64与use_queues: True批量大小与内部队列异步流水线use_doc_preprocessor: False、use_layout_detection: True、use_chart_recognition: False、use_seal_recognition: False、format_block_content: False、merge_layout_blocks: True各功能模块开关markdown_ignore_labelsMarkdown 中忽略的版面标签默认忽略number、footnote、header、header_image、footer、footer_image、aside_textSubModules.LayoutDetection版面分析模型配置model_name: PP-DocLayoutV3、threshold: 0.3、layout_nms: True、layout_unclip_ratio: [1.0, 1.0]、按类别区分的layout_merge_bboxes_mode字典SubModules.VLRecognitionVLM 识别配置model_name: PaddleOCR-VL-1.6-0.9B、batch_size: 4096以及genai_config.backend: fastdeploy-server、genai_config.server_url: http://paddleocr-vlm-server:8080/v1——注意 Compose 部署下客户端通过容器服务名访问底层 VLM 服务SubPipelines.DocPreprocessor文档预处理子产线文档方向分类 PP-LCNet_x1_0_doc_ori 图像矫正 UVDoc默认未启用Serving.extra.max_num_input_imgs: nullPDF 与多页 TIFF 的最大处理页数限制。常用修改项加速 VLM 推理可在产线配置中修改VLRecognition.genai_config.backend与server_url字段指向自建 VLM 服务Docker Compose 方案默认已使用加速框架。启用文档图像预处理默认配置启动的服务不支持文档预处理功能若客户端调用会返回错误。如需启用将use_doc_preprocessor设为True并使用修改后的配置重启服务。禁用结果可视化服务默认返回可视化结果有额外开销可在配置顶层添加Serving: visualize: False也可在单次请求体中将visualize设为false。以 URL 形式返回二进制内容默认图像等二进制内容以 Base64 内联返回如需改为 URL 形式目前支持百度智能云 BOS在配置顶层添加Serving: return_urls: True extra: file_storage: type: bos endpoint: https://bj.bcebos.com bucket_name: some-bucket ak: xxx sk: xxx key_prefix: deploy url_expires_in: 3600其中endpoint、ak、sk、bucket_name为必填url_expires_in为 URL 有效期秒-1表示永不过期。限制 PDF 与多页 TIFF 解析页数为避免页数过多导致超时或资源占用过高可限制最大处理页数Serving: extra: max_num_input_imgs: 100 # 同时限制 PDF 与多页 TIFF设为 null 表示不限制应用配置文件Docker Compose 部署时设置compose.yaml中services.paddleocr-vl-api.volumes将产线配置挂载到/home/paddleocr目录services: paddleocr-vl-api: ... volumes: - ./pipeline_config_fastdeploy.yaml:/home/paddleocr/pipeline_config_fastdeploy.yaml ...生产环境中也可自行构建镜像将配置文件打包进镜像。5. 模型微调若 PaddleOCR-VL 在特定业务场景中的精度表现未达预期推荐使用ERNIEKit 套件对视觉语言模型如 PaddleOCR-VL-0.9B进行有监督微调SFT具体操作步骤请参考主教程 5. 模型微调所引用的 ERNIEKit 官方文档。目前暂不支持对版面分析排序模型进行微调。总结在昆仑芯 XPU 上使用 PaddleOCR-VL 的核心要点可归纳为四条主线环境准备优先使用官方 Docker 镜像在线latest-kunlunxin-xpu约 13 GB / 离线-offline约 15 GB手动安装则需 Python 3.9–3.13 paddlepaddle-xpu3.2.1paddleocr[doc-parser]本地推理CLI 与 Python API 均需显式指定devicexpu且务必使用完整的版面分析 VLM 识别流程不要绕过版面分析单独调用 VLM生产提速通过 FastDeploy 后端镜像paddleocr-genai-fastdeploy-server:latest-kunlunxin-xpu约 53 GB启动 VLM 推理服务客户端以vl_rec_backendfastdeploy-server接入服务化部署以docker compose up一键拉起 VLM 服务 产线服务双容器默认监听 8080 端口通过.env控制镜像标签与后端通过产线配置文件pipeline_config_fastdeploy.yaml精细化调整批处理、功能开关、并发与页数限制。在动手之前建议先对照主教程的推理方式与硬件支持矩阵确认所选推理方式在昆仑芯 XPU 上的支持状态再按本文各节逐步操作即可快速落地。【免费下载链接】PaddleOCRTurn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports 100 languages.项目地址: https://gitcode.com/GitHub_Trending/pa/PaddleOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考