ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

发票识别实战:如何用 lift-oQ3.5 批量提取发票数据并导出表格

2026/8/20 19:19:27 拓冰建站 浏览量
发票识别实战:如何用 lift-oQ3.5 批量提取发票数据并导出表格 发票识别实战如何用 lift-oQ3.5 批量提取发票数据并导出表格【免费下载链接】lift-oQ3.5项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/lift-oQ3.5发票识别是财务、电商和行政工作中最耗时的一环一张张扫描、核对、手工录入费时又容易出错。本文带你实战上手一个开源发票识别模型lift-oQ3.5它能将增值税发票、电子发票批量提取为结构化 JSON 数据再一键导出 Excel 表格全程本地运行、无需联网敏感发票数据完全留在自己电脑里。什么是 lift-oQ3.5一个专为发票识别而生的视觉模型lift-oQ3.5 是 datalab-to/lift 的 MLX 转换版一个约 9B 参数的qwen3_5视觉语言模型核心能力是结构化提取输入发票图片或 PDF输出受 JSON Schema 约束的字段数据而不是自由发挥的文字描述。它属于 oQ 量化系列中的 oQ3.5 变体采用逐层混合精度量化平均约 4.0 bits/weight模型仅4.9 GB可在 Apple SiliconM 系列芯片上通过 mlx-vlm 流畅运行官方实测单张发票提取速度约109 t/s峰值内存约 6.5 GB。指标数值参数规模9Bqwen3_5量化精度≈4.0 bits/weight模型体积4.9 GB峰值内存≈6.5 GB提取速度≈109 t/s运行平台Apple Silicon mlx-vlm对新手来说它的最大价值在于不需要 GPU 服务器、不需要联网 API、不按张数计费一台 MacBook 就能跑发票识别。发票识别前准备本地环境配置与模型获取开始批量提取发票数据前请确认以下条件一台 Apple Silicon MacM1/M2/M3/M4 系列均可建议内存 16 GB 以上更流畅安装 Python 与uvx推荐用uv管理运行环境准备好待识别的发票图片支持拍照、扫描件、截图、PDF 转图。如需离线使用也可以直接克隆本仓库获取全部文件含两个权重分片 model-00001-of-00002.safetensors 与 model-00002-of-00002.safetensorsgit clone https://gitcode.com/hf_mirrors/mlx-community/lift-oQ3.5仓库中的 README.md 是完整使用文档config.json 定义了模型结构32 层文本 27 层视觉preprocessor_config.json 管理图片预处理参数chat_template.jinja 则负责把图片与文字组装成模型输入格式。熟悉这些文件能帮你更好地理解发票识别流程。快速上手一条命令完成单张发票识别无需写任何代码用 mlx-vlm 自带的命令行工具即可识别单张发票uvx --from mlx-vlm mlx_vlm.generate \ --model mlx-community/lift-oQ3.5 \ --image invoice.png \ --prompt Extract the invoice as JSON. \ --max-tokens 800模型会直接输出规范的 JSON例如{ invoice_number: 12345678, invoice_date: 2026-08-01, seller: 示例科技有限公司, total: 1130.00, tax: 130.00 }这就是发票识别的第一桶金票号、日期、金额、税额一次到位手工抄写一张发票的时间足够识别几十张。批量提取发票数据搭建 OpenAI 兼容识别服务单张识别只是热身真正高效的是批量提取发票数据。lift-oQ3.5 提供 OpenAI 兼容的本地服务启动后任何会调用 OpenAI 接口的程序都能直接接入uvx --from mlx-vlm mlx_vlm.server --model mlx-community/lift-oQ3.5 --port 8080服务会在解码阶段用llguidance强制校验 JSON Schema保证输出一定是合法且字段完整的 JSON不会出现漏字段、多逗号等解析灾难。配合一个几十行的 Python 脚本即可遍历整个发票文件夹import base64, json, glob from openai import OpenAI client OpenAI(base_urlhttp://127.0.0.1:8080/v1, api_keylocal) schema {type: object, properties: { invoice_number: {type: string}, total: {type: number}, }, required: [invoice_number, total]} results [] for path in glob.glob(invoices/*.png): img base64.b64encode(open(path, rb).read()).decode() resp client.chat.completions.create( modelmlx-community/lift-oQ3.5, messages[{role: user, content: [ {type: text, text: Extract this invoice.}, {type: image_url, image_url: {url: fdata:image/png;base64,{img}}}, ]}], response_format{type: json_schema, json_schema: {name: invoice, schema: schema}}, temperature0.0, max_tokens800, ) results.append(json.loads(resp.choices[0].message.content))把发票图片放进invoices文件夹脚本会逐张识别、逐条解析几分钟就能完成上百张发票数据提取。发票数据导出表格一键生成 Excel 报表提取出的结构化数据最后一步是导出表格。用 pandas 两行代码就能把 JSON 列表写入 Excelimport pandas as pd df pd.DataFrame(results) df.to_excel(发票识别结果.xlsx, indexFalse)导出的表格可以直接用于报销、对账、入账常见字段如下发票号码开票日期销售方价税合计税额状态123456782026-08-01示例科技1130.00130.00已识别876543212026-08-02示例贸易566.5065.16已识别也可以在 Schema 中加入line_items数组字段把发票明细行商品名称、数量、单价、金额一并提取导出为多行明细表满足更精细的账务需求。发票识别的 5 个实用技巧与避坑指南温度参数设为 0发票识别要的是确定性结果temperature0.0能最大限度避免同一张发票两次识别结果不一致。保证图片清晰尽量用 300 DPI 以上的扫描件或原图模糊照片会明显拉低字段识别准确率。Schema 中写全 required 字段把发票号码、金额等关键字段设为必填让模型漏报变成报错方便事后校验。确认 EOS 配置本仓库的 generation_config.json 已修复eos_token_id含 248044 与 248046避免服务端无限输出结束符自行转模型时记得保留此修复。长文档记得调大 max-tokens识别多页合同或大批量发票时把--max-tokens提升到 1500 以上防止输出被截断。发票识别常见问题FAQQ没有独显 GPU 能跑吗能。lift-oQ3.5 专为 Apple Silicon 优化6.5 GB 峰值内存即可运行普通 M 系列 Mac 均可流畅识别。Q支持中文发票吗支持。模型具备多语言视觉理解能力增值税专用发票、电子普通发票、收据小票都能识别。Q发票数据会上传到云端吗不会。模型与图片全部在本地处理不依赖任何在线 API财务数据隐私有保障。Q识别准确率怎么样上游完整精度版 lift9B在官方 225 份文档基准上字段级准确率达 90.2%oQ3.5 等量化版本在常规发票上表现稳定更复杂的版式建议先用少量样本验证。总结从单张发票识别到批量提取发票数据、再到导出 Excel 表格lift-oQ3.5 提供了一条命令启动、一套接口调用、一键生成报表的完整闭环。它把发票识别的门槛从云端 API 和 GPU 服务器拉低到一台 MacBook 就能搞定。如果你正被手动录入发票折磨不妨今天就试试这套本地发票识别方案把时间留给更值得做的事。【免费下载链接】lift-oQ3.5项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/lift-oQ3.5创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考