PaddleX 图表解析模块实战:基于 PP-Chart2Table 的多模态图表转表格指南
人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载一、导读图表解析Chart Parsing是 OCR 领域中面向多模态视觉语言模型VLM的新兴技术其核心目标是将柱状图、折线图、饼图等各类可视化图表自动转换为底层数据表格并结构化输出。本文以 PaddleX 文档型视觉语言模型模块中的PP-Chart2Table模型为主线完整讲解该模块的模型能力、Python API 快速集成、参数配置、结果处理、权重转换以及源码级实现原理。读完本文你将能够使用 PaddleX 的create_model在数行代码内完成图表到表格的推理理解predict与结果对象的完整参数语义掌握通过命令行将 Paddle 动态图权重转换为safetensors格式的流程并从源码层面理解 PP-Chart2Table 的提示词模板与图像预处理细节。二、模块概述从看图到用数据传统的图表解析方案通常依赖图表关键点检测等复杂模型的串联编排涉及大量先验假设鲁棒性不足。而本文档所属模块采用最新的 VLM 技术以数据驱动的方式从海量真实数据中学习鲁棒特征将各类图表直接映射为结构化表格输出。该能力的应用场景覆盖金融分析、学术研究、商业报告等领域典型用例包括从财务报表中快速提取增长趋势数据从科研论文中抽取实验对比数值从市场调研中获取用户分布统计。其价值在于帮助用户从看图转变为用数据——即让图表背后的数值可以被程序直接消费、计算和分析而非仅停留在视觉理解层面。三、支持的模型列表说明以下推理时间仅包含模型推理时间不包含前后处理时间。模型模型下载参数量B存储大小GB模型得分说明PP-Chart2Table推理模型下载0.581.480.60PP-Chart2Table 是 PaddlePaddle 团队开发的中英文图表解析专用 SOTA 多模态模型。其高性能源于新颖的 Shuffled Chart Data Retrieval 训练任务结合精细的 token 掩码策略显著提升了图表转数据表格的能力并借助基于高质量种子数据、RAG 与 LLM persona 设计的高级数据合成流水线扩充训练集针对大规模无标注分布外OOD数据采用两阶段蒸馏流程保证在真实数据上的适应性与泛化性。内部评测显示PP-Chart2Table 不仅优于同规模模型在关键应用上的精度也可与 70 亿参数的视觉语言模型VLM相当。注意上述模型得分为内部评测集模型测试结果共 1801 条数据涵盖柱状图、折线图、饼图等各类图表以及财务报表、法律法规、合同等多种场景下的测试样本目前暂无公开计划。❗注意PP-Chart2Table 模型已于 2025 年 6 月 27 日升级。如需使用旧版本模型的权重请点击旧版权重下载链接获取。从仓库源码看PP-Chart2Table 被登记在文档型视觉语言模型doc_vlm模块的模型清单中见 paddlex/modules/doc_vlm/model_list.py与 PP-DocBee 系列、PaddleOCR-VL 系列并列同时它出现在 PaddleX 官方模型的登记表中见 paddlex/inference/utils/official_models.py属于开箱即用的官方内置模型之一。四、快速集成数行代码完成图表推理4.1 前置安装❗ 快速集成前请先安装 PaddleX wheel 包具体安装流程请参阅 PaddleX 本地安装教程。完成 whl 包安装后即可通过几行代码完成文档型视觉语言模型模块的推理。你可以在该模块下自由切换模型也可以将文档型视觉语言模型的推理能力集成进自己的项目。运行以下代码前请先将示例图片下载到本地。4.2 Python 推理代码from paddlex import create_model model create_model(PP-Chart2Table) results model.predict( input{image: chart_parsing_02.png}, batch_size1 ) for res in results: res.print() res.save_to_json(f./output/res.json)运行后得到的原始结果如下{res: {image: chart_parsing_02.png, result: 年份 | 单家五星级旅游饭店年平均营收 (百万元) | 单家五星级旅游饭店年平均利润 (百万元)\n2018 | 104.22 | 9.87\n2019 | 99.11 | 7.47\n2020 | 57.87 | -3.87\n2021 | 68.99 | -2.9\n2022 | 56.29 | -9.48\n2023 | 87.99 | 5.96}}结果参数含义image待预测输入图片的路径result模型预测得到的结果信息。终端中可视化打印的预测结果如下年份 | 单家五星级旅游饭店年平均营收 (百万元) | 单家五星级旅游饭店年平均利润 (百万元) 2018 | 104.22 | 9.87 2019 | 99.11 | 7.47 2020 | 57.87 | -3.87 2021 | 68.99 | -2.9 2022 | 56.29 | -9.48 2023 | 87.99 | 5.96可以看到模型将一张五星级旅游饭店年度营收与利润的图表直接解析成了带表头与数值行的 Markdown 风格表格文本数值列、年份列均被准确还原。五、API 参数详解5.1create_model参数create_model用于实例化文档型视觉语言模型此处以PP-Chart2Table为例具体参数说明如下参数说明类型可选值默认值model_name模型名称strNoneNonemodel_dir模型存储路径strNoneNonedevice模型推理设备str支持指定具体 GPU 卡号如gpu:0、其他硬件具体卡号如npu:0、CPU 为cpugpu:0use_hpip是否启用高性能推理插件。当前暂不支持boolNoneFalsehpi_config高性能推理配置。当前暂不支持dict|NoneNoneNone其中model_name必须指定。指定model_name后默认使用 PaddleX 内置模型参数在此基础上若再指定model_dir则使用用户自定义模型。值得注意的细节在 paddlex/inference/models/doc_vlm/predictor.py 中可以看到当模型名属于 PP-Chart2Table 系列时若指定use_hpipTrue推理框架会发出The PP-Chart2Table series does not support use_hpipTrue for now.的警告并忽略该选项这与文档中当前暂不支持高性能推理插件的说明一致。5.2predict()方法参数调用文档型视觉语言模型的predict()方法进行推理预测其参数包括input、batch_size具体说明如下参数说明类型可选值默认值input待预测数据dictDict。多模态模型对输入形式要求不同需依据具体模型确定。具体而言PP-Chart2Table 的输入形式为{image: image_path}Nonebatch_size批大小int整数15.3 预测结果处理每个样本的预测结果是对应的 Result 对象支持打印与保存为json文件等操作方法说明参数类型参数说明默认值print()将结果打印到终端format_jsonbool是否使用JSON缩进格式化输出内容Trueindentint指定缩进级别以美化输出的JSON数据提升可读性仅在format_json为True时生效4ensure_asciibool控制是否将非ASCII字符转义为Unicode。为True时所有非ASCII字符被转义为False时保留原字符仅在format_json为True时生效Falsesave_to_json()将结果保存为 json 格式文件save_pathstr文件保存路径。为目录时保存的文件名与输入文件类型名一致Noneindentint指定缩进级别以美化输出的JSON数据提升可读性仅在format_json为True时生效4ensure_asciibool控制是否将非ASCII字符转义为Unicode。为True时所有非ASCII字符被转义为False时保留原字符仅在format_json为True时生效False此外还可以通过属性直接获取预测结果属性说明json以json格式获取预测结果在仓库中该结果对象继承自文档型 VLM 的DocVLMResult类见 paddlex/inference/models/doc_vlm/result.py而DocVLMResult又继承自paddlex/inference/models/common/result中的BaseResult因此天然支持print()、save_to_json()与json属性等统一的 PaddleX 结果接口能力。关于 PaddleX 单模型推理 API 的更多用法可参考 PaddleX 单模型 Python 脚本使用说明。六、YAML 配置入口命令行与引擎视角除了 Python APIPaddleX 还提供了 YAML 配置文件作为统一入口。PP-Chart2Table 的模型配置位于 paddlex/configs/modules/chart_parsing/PP-Chart2Table.yaml内容如下Global: model: PP-Chart2Table mode: predict # only support predict device: gpu:0 output: output Predict: batch_size: 1 model_dir: /path/to/PP-Chart2Table input: image: https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/chart_parsing_02.png kernel_option: run_mode: paddle关键字段解读Global.model指定模型名称为PP-Chart2TableGlobal.mode当前仅支持predict推理模式注释明确标注# only support predict与该模块暂不支持微调训练的现状一致Global.device默认推理设备为gpu:0可按npu:0、cpu等形式修改Predict.batch_size批大小默认 1Predict.input.image输入图片路径支持本地路径或 URLPredict.kernel_option.run_mode运行内核模式默认paddle。七、源码视角PP-Chart2Table 的推理链路深入仓库源码可以进一步理解 PP-Chart2Table 在 PaddleX 中是如何被加载与执行的。7.1 模型构建与引擎支持在 paddlex/inference/models/doc_vlm/predictor.py 的DocVLMLocalPredictor._build()中PP-Chart2Table 系列通过PPChart2TableInference.from_pretrained()加载当模型目录中存在safetensors权重时会以use_safetensorsTrue, convert_from_hfTrue的方式加载即直接使用转换后的 HuggingFace 兼容格式权重否则按默认 Paddle 动态图格式加载同时以pad_token_idprocessor.tokenizer.eos_token_id作为填充 token保证生成阶段序列对齐。此外在 paddlex/inference/models/doc_vlm/init.py 的引擎映射中可以看到PP-Chart2Table同时被登记到transformers引擎支持列表意味着该模型也可借助 Transformers 预测器DocVLMTransformersPredictor见 paddlex/inference/models/doc_vlm/predictor.py进行推理。7.2 处理器与提示词模板PP-Chart2Table 的处理器实现位于 paddlex/inference/models/doc_vlm/processors/GOT_ocr_2_0.py这是理解模型行为的关键源码图像预处理GOTImageProcessor将输入图片统一 Resize 到1024×1024bicubic 插值再执行ToTensor与按MEAN(0.48145466, 0.4578275, 0.40821073)、STD(0.26862954, 0.26130258, 0.27577711)的归一化——这是与 GOT-OCR2 系列一致的 CLIP 风格图像归一化参数。提示词模板PPChart2TableProcessor模型内部固定拼接了完整的对话式 prompt|im_start|system You should follow the instructions carefully and explain your answers in detail.|im_end||im_start|user imgimgpad×256/img Chart to table|im_end||im_start|assistant其中Chart to table即触发图表解析任务的指令文本imgpad×256为视觉 token 占位。输入图像先经_load_image()读取并转为 RGB再进入图像处理器token 序列通过paddle.tile按批大小复制对齐。输出后处理postprocess()使用 tokenizer 的batch_decode对生成结果解码默认skip_special_tokensTrue并关闭clean_up_tokenization_spaces从而保留表格文本的原始格式如|分隔符与换行。7.3 模型架构模型主体类为PPChart2TableInference见 paddlex/inference/models/doc_vlm/modeling/GOT_ocr_2_0.py其配置类PPChart2TableConfig的model_type为pp_chart2table架构与 HuggingFace transformers 生态中的 GOT-OCR2 对齐见 paddlex/inference/models/doc_vlm/modeling/_config_pp_chart2table.py并通过add_inference_operations(chart2table_generate)注册了专用的图表生成推理算子。这也解释了为什么权重转换后的产物可以直接服务于paddle_dynamic与transformers两类引擎。八、二次开发当前仅支持推理集成当前模块暂不支持微调训练仅支持推理集成。对微调训练的支持已在规划之中。如果你需要在自有数据上训练图表解析模型现阶段需要等待该模块的微调能力上线或在 PaddleX 生态的其他适用通道中寻找替代方案。九、权重转换pdparams → safetensors该模块支持将 Paddle 动态图权重.pdparams转换为safetensors格式以便直接供 PaddleX 的paddle_dynamic与transformers引擎使用。本模块支持权重转换的模型为PP-Chart2Table。以PP-Chart2Table为例通过命令行执行权重转换python main.py -c paddlex/configs/modules/chart_parsing/PP-Chart2Table.yaml \ -o Global.modepdparams2safetensors \ -o Pdparams2safetensors.input_path./path/to/model.pdparams \ -o Pdparams2safetensors.output_dir./output/safetensors/参数说明Global.mode将运行模式设置为权重转换pdparams2safetensorsPdparams2safetensors.input_path输入的.pdparams权重文件路径或包含该文件的目录Pdparams2safetensors.output_dir转换后safetensors模型的输出目录。转换完成后输出目录中将包含model.safetensors、config.json、preprocess_config.json、inference.yml等文件可直接用于推理。结合前文源码可以理解这一步的必要性DocVLMLocalPredictor在模型目录存在safetensors权重时会走use_safetensorsTrue, convert_from_hfTrue的加载分支见 paddlex/inference/models/doc_vlm/predictor.py因此转换后的目录能够被推理链路无缝识别而transformers引擎DocVLMTransformersPredictor正是通过AutoModelForImageTextToTextAutoProcessor消费这类 HuggingFace 兼容格式权重的。其他相关参数可参考 PaddleX 通用模型配置参数说明。十、小结PP-Chart2Table 作为 PaddleX 文档型视觉语言模型模块中的图表解析主力模型以 0.58B 参数量实现了对中英文各类图表的表格化输出其使用门槛极低安装 PaddleX 后create_modelpredict即可完成推理print/save_to_json/json属性覆盖了结果查看与落盘的全部需求。从源码层面看模型沿用了 GOT-OCR2 架构内置Chart to table指令 prompt 与 1024×1024 的标准化图像预处理权重转换能力则让 Paddle 动态图权重可以平滑迁移至safetensors格式服务于paddle_dynamic与transformers两类引擎。对于金融分析、学术研究、商业报告等需要以数据方式消费图表的场景该模块提供了一个开箱即用的落地方案。赞分享人工智能大模型低代码计算机视觉深度学习模型推理服务【免费下载链接】PaddleXAll-in-One Development Tool based on PaddlePaddle项目地址https://gitcode.com/gh_mirrors/pa/PaddleX点击查看免费下载相关推荐PaddleOCR 图表解析模块实战指南基于 PP-Chart2Table 多模态 VLM 的图表转数据表推理PaddleOCR 图表解析模块实战指南基于 PP Chart2Table 多模态 VLM 的图表转数据表推理 多模态图表解析是 OCR 领域的前沿方向目标人工智能计算机视觉OCR深度学习大模型RAGPaddleOCR 图表解析模块实战指南基于 PP-Chart2Table 多模态模型将图表一键转数据表PaddleOCR 图表解析模块实战指南基于 PP Chart2Table 多模态模型将图表一键转数据表 多模态图表解析是 OCR 与视觉语言模型VLM交人工智能计算机视觉OCR深度学习大模型RAGTransformers 中 PP-Chart2Table 图表转表格多模态模型实战指南Transformers 中 PP Chart2Table 图表转表格多模态模型实战指南 PP Chart2Table 是 PaddlePaddle 团队开发、人工智能大模型深度学习NLP预训练微调模型推理服务上一篇Apache Pulsar 连接器管理实战部署、配置、运行与监控 Pulsar IO Connectors下一篇gopls 功能全景指南Go 语言服务器的 LSP 能力索引、实现原理与编辑器接入实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考