# Invoice - 基于Qwen3-VL的发票信息提取模型 ## 模型简介 > ⚠️ **重要提示:当前为测试版本 (v0)** > > 此版本为早期测试模型,可能存在以下情况: > - 识别准确率待进一步优化(目前主要是提取为JSON数据,其它格式未作优化) > - 模型泛化能力不足 > - 可能会出现无限重复Token,导致输出无限循环。(建议temperature设置为1) > > **正式版本将在后续推出** Invoice模型是基于Qwen3-VL-8B-Instruct模型针对发票、票据信息提取任务进行专门微调的高准确率视觉语言模型。该模型专门设计用于从各种发票、票据图像中准确提取关键信息,包括但不限于: - **发票基本信息**:发票代码、发票号码、开票日期、校验码等 - **交易方信息**:销售方名称、纳税人识别号、地址电话、开户行及账号 - **购买方信息**:购买方名称、纳税人识别号、地址电话、开户行及账号 - **商品明细**:货物或应税劳务名称、规格型号、单位、数量、单价、金额 - **税务信息**:税率、税额、价税合计(大写/小写) - **其他信息**:收款人、复核人、开票人等 ## 模型特点 ### 🎯 高准确率 - 专门针对中文发票场景优化,识别准确率高 - 支持多种发票格式(增值税普通发票、专用发票、电子发票等) - 对模糊、倾斜、复杂背景的发票图像有较好的鲁棒性 ### 🔧 技术优势 - 基于先进的Qwen3-VL-8B-Instruct模型微调 - 支持端到端的视觉-语言理解 - 能够理解发票的版面结构和逻辑关系 - 支持上下文理解和多轮对话 ### 📱 应用场景 - 企业财务自动化处理 - 电子发票管理系统 - 财务报销自动化 - 税务申报辅助 - 票据归档数字化 ### 🌐 泛化能力 - 在票据、文档等结构化信息提取任务上展示了较强的泛化能力 - 支持多种版式理解和关键信息提取 - 欢迎提交反馈和建议,帮助我们进一步优化模型表现 ## 快速开始 ## 体验地址 在线体验地址:https://fp.94209420.xyz/ ### 环境安装 ```bash # 安装ModelScope pip install modelscope # 安装相关依赖 pip install "transformers>=4.57.0" ``` ### 模型下载 **使用ModelScope SDK下载:** ```python from modelscope import snapshot_download model_dir = snapshot_download('FLYFAI/Invoice') ``` **使用Git下载:** ```bash git clone https://www.modelscope.cn/FLYFAI/Invoice.git ``` **使用modelscope命令行工具下载:** ```bash modelscope download --model FLYFAI/Invoice --local_dir ./Invoice ``` ## 模型部署 ### 推荐使用VLLM部署 启动模型建议使用VLLM以获得更好的性能和并发处理能力: ```bash 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目录并安装依赖:** ```bash cd Invoice/demo pip install fastapi uvicorn jinja2 pillow openai pdf2image python-multipart ``` 2. **处理PDF文件注意事项:** - pdf2image的安装可以参考官方仓库:https://github.com/Belval/pdf2image - Windows系统:需要在`LM.py`文件中指定`poppler_path`文件路径 - Linux系统:注释掉`poppler_path`相关配置即可 3. **配置模型访问地址:** - 打开`demo/LM.py`文件 - 配置`model_base_url`为你的模型服务地址 4. **启动Demo演示界面:** ```bash python main2.py ``` - Demo界面将在你的IP:9420端口启动 ## 推荐Prompt 通用: ```python prompt = "提取票据里面的所有信息" ``` or 结构化输出: ```python 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](LICENSE) 许可证开源。 ## 免责声明 本模型处于测试版本,使用者应确保其使用方式符合相关法律法规。模型开发者不对因使用本模型而产生的任何直接或间接损失负责。 欢迎提交反馈和建议,帮助我们进一步优化模型表现