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

215 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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) 许可证开源。
## 免责声明
本模型处于测试版本,使用者应确保其使用方式符合相关法律法规。模型开发者不对因使用本模型而产生的任何直接或间接损失负责。
欢迎提交反馈和建议,帮助我们进一步优化模型表现