README.md 3.65 KB
Newer Older
zzg_666's avatar
zzg_666 committed
1
2
3
4
5
6
# Nanonets-OCR-s
## 论文
暂无

## 模型简介

zzg_666's avatar
修改  
zzg_666 committed
7
8
Nanonets-OCR-s是由Nanonets推出的一款强大且先进的图像转Markdown光学字符识别(OCR)模型。它远不止于传统的文本提取,更能将文档转换为带有智能内容识别和语义标记的结构化Markdown格式,使其成为大型语言模型(LLM)下游处理的理想选择。  
Nanonets-OCR-s集成了众多功能,旨在轻松处理复杂文档:  
zzg_666's avatar
zzg_666 committed
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
- LaTeX 公式识别:自动将数学方程式和公式转换为格式正确的 LaTeX 语法。它能区分行内公式(...)和独立成行的公式(...)。  
- 智能图像描述:使用结构化的  标签描述文档中的图像,使其易于被大型语言模型(LLM)处理。它可以描述包括徽标、图表、图形等各种图像类型,并详述其内容、风格和上下文。  
- 签名检测与隔离:识别并将签名与其他文本隔离开来,将其输出在  标签内。这对于处理法律和商业文件至关重要。  
- 水印提取:检测并提取文档中的水印文本,并将其置于  标签内。  
- 智能复选框处理:将表单中的复选框和单选按钮转换为标准化的 Unicode 符号(☐, ☑, ☒),以确保处理的一致性和可靠性。  
- 复杂表格提取:准确地从文档中提取复杂表格,并将其转换为 Markdown 和 HTML 两种表格格式。

## 环境依赖
| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| python | 3.10.12 |
| torch | 2.9.0+das.opt1.dtk2604.20260206.g275d08c2 |
| transformers | 5.0.0.dev0 |
| vllm | 0.15.1+das.opt1.alpha.dtk2604.20260220.g2799735a |

推荐使用镜像: harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220

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

```bash
docker run -it \
    --shm-size 200g \
    --network=host \
    --name Nanonets-OCR-s \
    --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/ \
    harbor.sourcefind.cn:5443/dcu/admin/base/custom:vllm0.15.1-ubuntu22.04-dtk26.04-0130-py3.10-20260220 bash
```

更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用,其它包安装:
```
pip install pycountry
```

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### vllm
#### 单机推理
```bash
## serve启动
vllm serve  nanonets/Nanonets-OCR-s    --trust-remote-code --dtype bfloat16 -tp 1  --port 8010

## client访问
curl -X POST "http://localhost:8010/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "nanonets/Nanonets-OCR-s",
		"messages": [
			{
				"role": "user",
				"content": [
					{
						"type": "text",
						"text": "Describe this image in one sentence."
					},
					{
						"type": "image_url",
						"image_url": {
							"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
						}
					}
				]
			}
		]
	}'

```

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

### 精度
`DCU与GPU精度一致,推理框架:vllm。`

## 预训练权重
| 模型名称  | 权重大小  | DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:---------------------:|:----------:|
zzg_666's avatar
修改  
zzg_666 committed
102
| Nanonets-OCR-s | 4B | BW1000 | 1 | [Hugging Face](https://huggingface.co/nanonets/Nanonets-OCR-s) |
zzg_666's avatar
zzg_666 committed
103
104
105
106
107
108
109


## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/nanonets-ocr-s_vllm

## 参考资料
- https://github.com/NanoNets/docext/tree/dev/markdown