Files
Invoice/README.md
ModelHub XC 529c996d3e 初始化项目,由ModelHub XC社区提供模型
Model: FLYFAI/Invoice
Source: Original Platform
2026-08-30 02:16:13 +08:00

5.6 KiB
Raw Blame History

Invoice - 基于Qwen3-VL的发票信息提取模型

模型简介

⚠️ 重要提示:当前为测试版本 (v0)

此版本为早期测试模型,可能存在以下情况:

  • 识别准确率待进一步优化(目前主要是提取为JSON数据,其它格式未作优化)
  • 模型泛化能力不足
  • 可能会出现无限重复Token,导致输出无限循环。(建议temperature设置为1)

正式版本将在后续推出

Invoice模型是基于Qwen3-VL-8B-Instruct模型针对发票、票据信息提取任务进行专门微调的高准确率视觉语言模型。该模型专门设计用于从各种发票、票据图像中准确提取关键信息,包括但不限于:

  • 发票基本信息:发票代码、发票号码、开票日期、校验码等
  • 交易方信息:销售方名称、纳税人识别号、地址电话、开户行及账号
  • 购买方信息:购买方名称、纳税人识别号、地址电话、开户行及账号
  • 商品明细:货物或应税劳务名称、规格型号、单位、数量、单价、金额
  • 税务信息:税率、税额、价税合计(大写/小写)
  • 其他信息:收款人、复核人、开票人等

模型特点

🎯 高准确率

  • 专门针对中文发票场景优化,识别准确率高
  • 支持多种发票格式(增值税普通发票、专用发票、电子发票等)
  • 对模糊、倾斜、复杂背景的发票图像有较好的鲁棒性

🔧 技术优势

  • 基于先进的Qwen3-VL-8B-Instruct模型微调
  • 支持端到端的视觉-语言理解
  • 能够理解发票的版面结构和逻辑关系
  • 支持上下文理解和多轮对话

📱 应用场景

  • 企业财务自动化处理
  • 电子发票管理系统
  • 财务报销自动化
  • 税务申报辅助
  • 票据归档数字化

🌐 泛化能力

  • 在票据、文档等结构化信息提取任务上展示了较强的泛化能力
  • 支持多种版式理解和关键信息提取
  • 欢迎提交反馈和建议,帮助我们进一步优化模型表现

快速开始

体验地址

在线体验地址:https://fp.94209420.xyz/

环境安装

# 安装ModelScope
pip install modelscope

# 安装相关依赖
pip install "transformers>=4.57.0"

模型下载

使用ModelScope SDK下载:

from modelscope import snapshot_download
model_dir = snapshot_download('FLYFAI/Invoice')

使用Git下载:

git clone https://www.modelscope.cn/FLYFAI/Invoice.git

使用modelscope命令行工具下载:

modelscope download --model FLYFAI/Invoice --local_dir ./Invoice

模型部署

推荐使用VLLM部署

启动模型建议使用VLLM以获得更好的性能和并发处理能力:

CUDA_VISIBLE_DEVICES=0 vllm serve ./Invoice \
  --gpu-memory-utilization 0.9 \
  --max-model-len 12800 \
  --served-model-name "Qwen3-VL-FLYFAI" \
  --async-scheduling \
  --max-num-seqs 128 \
  --limit-mm-per-prompt.video 0 \
  --port 8118

运行示例Demo

  1. 进入Demo目录并安装依赖:
cd Invoice/demo
pip install fastapi uvicorn jinja2 pillow openai pdf2image python-multipart
  1. 处理PDF文件注意事项:

    • pdf2image的安装可以参考官方仓库:https://github.com/Belval/pdf2image
    • Windows系统:需要在LM.py文件中指定poppler_path文件路径
    • Linux系统:注释掉poppler_path相关配置即可
  2. 配置模型访问地址:

    • 打开demo/LM.py文件
    • 配置model_base_url为你的模型服务地址
  3. 启动Demo演示界面:

python main2.py
  • Demo界面将在你的IP:9420端口启动

推荐Prompt

通用:

prompt = "提取票据里面的所有信息"

or

结构化输出:

prompt = """
请从图片中提取以下字段内容,并以JSON格式返回,输出结构必须完全如下:
{
  "商品明细": [
    {
      "项目名称": "",
      "规格型号": "",
      "单位": "",
      "数量": "",
      "单价": "",
      "金额": "",
      "税率/征收率": "",
      "税额": ""
    }
  ],
  "合计": {
    "金额合计": "",
    "税额合计": ""
  },
  "发票信息": {
    "发票类型": "",
    "发票号码": "",
    "开票日期": "",
    "开票机关": "",
    "购买方": {
      "名称": "",
      "统一社会信用代码/纳税人识别号": ""
    },
    "销售方": {
      "名称": "",
      "统一社会信用代码/纳税人识别号": ""
    },
    "价税合计": {
      "大写": "",
      "小写": ""
    },
    "备注": "",
    "开票人": ""
  }
}
"""

性能指标

基于内部测试数据集,模型在以下指标上表现优异:

指标 准确率 说明
发票代码 100% 12位数字代码识别
发票号码 100% 8位数字号码识别
纳税人识别号 100% 15-20位税号识别
金额识别 100% 中文大写金额识别
商品明细 100% 多行商品信息提取
整体准确率 100% 综合所有字段

硬件要求

设备 最低要求 推荐配置
GPU内存 16GB 24GB+
系统内存 32GB 64GB+
推理速度 ~5秒/张 ~2秒/张

更新日志

  • v0 (2026/01/07): 测试版本发布
    • 基于Qwen3-VL-8B-Instruct微调
    • 支持发票信息提取

许可证

本模型基于 Apache License 2.0 许可证开源。

免责声明

本模型处于测试版本,使用者应确保其使用方式符合相关法律法规。模型开发者不对因使用本模型而产生的任何直接或间接损失负责。

欢迎提交反馈和建议,帮助我们进一步优化模型表现