# PaddleOCR-VL-1.6
## 论文
暂无

## 模型简介
PaddleOCR正式推出PaddleOCR-VL-1.6，PaddleOCR-VL-1.6是在PaddleOCR-VL-1.5的基础上，通过对数据和训练策略的极致优化，在OmniDocBench v1.6 突破96.3%，在OmniDocBench v1.5、Real5-OmniDocBench上同样刷新SOTA，文本、公式、表格识别全面领先开源与闭源方案。此外，表格、古籍、生僻字识别大幅提升，印章、spotting、图表识别等多场景均有显著增强。值得一提的是，模型结构与PaddleOCR-VL-1.5完全一致，零成本适配，即换即用。

<div align=center>
    <img src="./doc/paddleocr-vl-1.6_metrics.png"/>
</div>

## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 25.04.2 |
| Python | 3.10.12 |
| Transformers | 4.57.1 |
| vLLM | 0.9.2+das.opt1.dtk25042 |
| PaddlePaddle-dcu | 3.2.1 |
| Paddlex | 3.6.1 |
| Paddleocr | 3.6.0 |

推荐使用镜像: image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.9.2-ubuntu22.04-dtk25.04.2-py3.10-paddleocr

- 挂载地址`-v`根据实际模型情况修改

```bash
docker run -it \
    --shm-size 256g \
    --network=host \
    --name paddleocr-vl-1.6 \
    --privileged \
    --device=/dev/kfd \
    --device=/dev/dri \
    --device=/dev/mkfd \
    --group-add video \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    -u root \
    -v /opt/hyhal/:/opt/hyhal/:ro \
    -v /path/your_code_data/:/path/your_code_data/ \
    image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.9.2-ubuntu22.04-dtk25.04.2-py3.10-paddleocr bash
```
更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装。

**升级paddle相关库**
```bash
pip install paddlepaddle-dcu==3.2.1 -i https://www.paddlepaddle.org.cn/packages/stable/dcu/
pip install -U "paddleocr[doc-parser]>=3.6.0"
```

## 预训练权重
| 模型名称  | 权重大小  | 数据类型 | 支持的DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:----------:|:---------------------:|:----------:|
| PaddleOCR-VL-1.6 | 0.9B | BF16 | BW1000 | 1 | [ModelScope](https://modelscope.cn/models/PaddlePaddle/PaddleOCR-VL-1.6) |

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### vLLM
#### 单机推理
1. 启动服务
```bash
export PADDLE_PDX_DISABLE_DEV_MODEL_WL=1
export DISABLE_MODEL_SOURCE_CHECK=1
paddleocr genai_server --model_name PaddleOCR-VL-1.6-0.9B --host 0.0.0.0 --port 8080 --backend vllm --backend_config ./vllm_config.yaml --model_dir /path/of/PaddleOCR-VL-1.6
```

2. 访问命令
```bash
export PADDLE_PDX_DISABLE_DEV_MODEL_WL=1
export DISABLE_MODEL_SOURCE_CHECK=1

curl http://localhost:8080/v1/chat/completions   \
    -H "Content-Type: application/json"  \
    -d '{
        "model": "PaddleOCR-VL-1.6-0.9B",
        "messages": [
            {
                "role": "user",
                "content": [
                    {"type": "image_url", "image_url": {"url": "file:///path/of/doc/paddleocr_vl_demo.png"}},
                    {"type": "text", "text": "OCR:"}
                ]
            }
        ],
        "temperature": 0.1
    }'
```

## 效果展示
<div align=center>
    <img src="doc/result-dcu.png"/>
</div>

### 精度
DCU与GPU精度一致，推理框架：vllm。

## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/paddleocr-vl-1.6

## 参考资料
- https://github.com/PaddlePaddle/PaddleOCR
