游乐游手机版
首页/AI热点日报/热点详情

扣子图像理解模型处理图表发票数据指南

类型:热点整理2026-06-26
在扣子平台中调用图像理解模型,可识别发票关键字段、拆分PDF并逐页或拼接处理,提取图表趋势与数值,最终将JSON结果写入Excel并触发下载。需注意Base64或HTTPS图片输入、图像大小限制及图例识别问题。

在扣子平台中调用图像理解模型,实现智能识别发票关键字段

先说几个核心判断。从手机拍摄的模糊发票照片、扫描件或PDF截图里,快速提取发票代码、金额、开票日期这类结构化信息,这件事本身并不复杂,但手动录入的出错率和重复劳动,确实让人头疼。而扣子(Coze)平台里的图像理解模型,正好可以解决这个痛点,利用AI视觉能力自动完成OCR识别与数据提取。

操作路径很直接:打开扣子平台,进入你已创建的 Bot 编辑界面,点击左侧的【工作流】,新建一个工作流节点,选择【大模型】类型。在模型下拉菜单中,选中 Qwen-VL-PlusQwen2-VL。这两个模型对中英文混合的图文理解能力都不错,而且对税务单据类图像做了专门优化,能够精准识别发票字段。如果列表里没有看到,记得先去【Bot 设置→插件与模型】里把对应视觉模型的权限打开,确保模型可用。

接下来是关键——节点的提示词框里,需要输入一段清晰的指令:

「请严格按以下JSON格式输出:{"invoice_code":"", "invoice_number":"", "date":"", "amount":"", "seller_name":"", "buyer_name":""}。仅输出JSON,不加任何说明、前缀或后缀。若某字段不可见则留空字符串。」

然后把上一步的图像输入连接到该节点的【image】参数槽位。这里有个容易踩的坑:输入必须是 Base64 编码后的图片数据,或者能公开访问的 HTTPS 图片 URL。本地路径(比如 C:xxx.jpg)或者相对路径,系统会直接报错,千万别这么干,务必使用网络可访问的资源。

处理含多张发票的PDF或长图

拆分PDF是大多数人遇到的第一道坎——扣子原生不支持直接解析PDF,得先做前置转换。你可以用Python脚本,或者在线工具(比如ilovepdf.com)把PDF拆成单页JPG或PNG,每页一张发票。如果批量操作比较多,推荐用 ImageMagick 加 Ghostscript 命令行,Windows环境下示例如下:

magick -density 300 invoice.pdf -quality 95 page_%03d.jpg

拆完之后有两种处理思路:

方法一:逐页调用图像理解节点。在工作流里插入一个【循环】节点,遍历图片列表,每次迭代触发一次 Qwen-VL 调用,结果收集进数组,最后用【合并 JSON 数组】节点统一输出。这种方式比较稳妥,适合发票样式不统一的情况,能保证每张独立识别。

方法二:拼接成一张长图后单次识别。这个做法更适合排版规整的扫描件。用PIL将多张发票图垂直拼接,宽度保持一致(建议1200px),高度自适应。但有一个硬性限制——拼接后的图像总大小不能超过8MB,否则扣子会拒绝上传。另外,每张图之间加40px的白色间隔,这样模型不容易把跨页的字段混在一起,提升识别准确率。

从图表中提取趋势与数值(非发票类图像)

拿到一张销售折线图、库存柱状图或者财务饼图,光看线条走向就下结论?别急,想让模型读出具体数值和趋势,有三个前置步骤:

第一步:把图表图像上传到扣子知识库,作为「文件」类型素材,支持PNG和JPG格式。打上标签,比如 #sales_chart、#q2_revenue,方便后续检索调用。

第二步:在Bot的回复逻辑中添加【检索】节点,设置关键词匹配刚才打的标签,精准定位所需图表。

第三步:把检索出的图表文件ID传入图像理解节点,提示词改写成:「描述这张图表的类型、横纵轴含义、最高/最低值对应的数据点、以及近三个月销售额变化趋势(上升/下降/平稳)。用中文分点回答,不要JSON。」这样模型就能输出可读性强的趋势分析。

值得留意的是:别指望模型能自动识别图例位置。如果图表里图例挡住了数据点,或者颜色对比度太低(比如灰底配浅蓝柱),识别率会明显下降。上传前最好用画图工具手动增强对比度,或者加箭头标注关键区域。这一步虽然麻烦,但能避免很多后期纠错的时间,确保数据提取的可靠性。

将识别结果写入 Excel 并触发下载

数据提取完了,接下来就是导出。图像理解节点输出JSON后,立刻接入【数据处理】节点,选择「JSON转表格」功能,字段名会自动映射为表头,无需手动设置。

然后连接【Excel操作】节点,选择【创建新文件】,文件名命名为「invoice_extract_{{now|date:"Ymd_His"}}.xlsx」,这样每次生成的文件不会重名,避免覆盖历史数据。

勾选【自动填充数据】,源数据选上一步的表格。最后添加【文件下载】节点,把Excel文件作为Bot回复内容推送给用户,方便直接下载使用。

这里有一个容易忽略的细节:Excel节点默认只写入第一个Sheet。如果你需要多个工作表(比如“发票明细”和“统计汇总”),必须拆成两个独立的【Excel操作】节点,分别指定不同的 sheet_name 参数。不然第二个写入会把第一个覆盖掉,数据就丢了,这个逻辑需要特别注意。

来源:https://www.php.cn/faq/2711548.html?uid=1589237

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。