Compare commits

..

20 Commits

Author SHA1 Message Date
Xiaomeng Zhao
8825235088 Merge pull request #3835 from myhloli/dev
chore: update changelog for 2.6.2 release with OCR model optimizations and backend improvements
2025-10-24 18:35:17 +08:00
myhloli
44a60785c6 chore: update changelog for 2.6.2 release with OCR model optimizations and backend improvements 2025-10-24 18:33:15 +08:00
Xiaomeng Zhao
473e235397 Merge pull request #3834 from myhloli/dev
refactor: remove deprecated model configurations from arch_config.yaml and models_config.yml
2025-10-24 18:29:59 +08:00
myhloli
16814e1e1d refactor: remove deprecated model configurations from arch_config.yaml and models_config.yml 2025-10-24 18:11:50 +08:00
myhloli
3546766e72 fix: update CTCLabelDecode output channels and clean up Latin dictionary 2025-10-24 18:04:28 +08:00
Xiaomeng Zhao
b57d9caef3 Merge pull request #3833 from opendatalab/master
master->dev
2025-10-24 17:39:27 +08:00
myhloli
0603edc202 Update version.py with new version 2025-10-24 09:28:52 +00:00
Xiaomeng Zhao
2a0cb7963a Merge pull request #3829 from opendatalab/release-2.6.1
Release 2.6.1
2025-10-24 17:27:18 +08:00
Xiaomeng Zhao
a56bd6c334 Merge pull request #3831 from opendatalab/dev
Dev
2025-10-24 17:25:03 +08:00
Xiaomeng Zhao
f5400f0c94 Merge pull request #3830 from myhloli/dev
fix: correct spelling of set_default_gpu_memory_utilization and set_default_batch_size functions
2025-10-24 17:24:31 +08:00
myhloli
6a6c650062 fix: correct spelling of set_default_gpu_memory_utilization and set_default_batch_size functions 2025-10-24 17:23:13 +08:00
Xiaomeng Zhao
ae084eb317 Merge pull request #3828 from myhloli/dev
Dev
2025-10-24 17:17:23 +08:00
myhloli
7c77db7135 fix: import enable_custom_logits_processors in server.py 2025-10-24 17:16:07 +08:00
myhloli
7b14a87b9d fix: update version number to 2.6.1 in README and README_zh-CN 2025-10-24 17:13:08 +08:00
myhloli
0d0ebfd7bc fix: improve GPU memory utilization handling and ensure OMP_NUM_THREADS is set only if not defined 2025-10-24 17:11:19 +08:00
myhloli
dc438fa620 Update version.py with new version 2025-10-24 08:12:26 +00:00
Xiaomeng Zhao
f5a5644d12 Merge pull request #3825 from opendatalab/dev
Dev
2025-10-24 16:01:37 +08:00
Xiaomeng Zhao
91cc2524d5 Merge pull request #3824 from myhloli/dev
fix: update README and Chinese README to include GitHub link for optimization contributor
2025-10-24 16:00:54 +08:00
myhloli
e504e5e012 fix: update README and Chinese README to include GitHub link for optimization contributor 2025-10-24 15:58:23 +08:00
Xiaomeng Zhao
6b2f414438 Merge pull request #3823 from opendatalab/release-2.6.0
Release 2.6.0
2025-10-24 15:54:23 +08:00
20 changed files with 584 additions and 24756 deletions

View File

@@ -44,11 +44,11 @@
</div>
# Changelog
- 2025/10/24 2.6.0 Release
- 2025/10/24 2.6.2 Release
- `pipeline` backend optimizations
- Added experimental support for Chinese formulas, which can be enabled by setting the environment variable `export MINERU_FORMULA_CH_SUPPORT=1`. This feature may cause a slight decrease in MFR speed and failures in recognizing some long formulas. It is recommended to enable it only when parsing Chinese formulas is needed. To disable this feature, set the environment variable to `0`.
- `OCR` speed significantly improved by 200%~300%, thanks to the optimization solution provided by @cjsdurj
- `OCR` models updated to `ppocr-v5` version for Cyrillic, Arabic, Devanagari, Telugu (te), and Tamil (ta) languages, with accuracy improved by over 40% compared to previous models
- `OCR` speed significantly improved by 200%~300%, thanks to the optimization solution provided by [@cjsdurj](https://github.com/cjsdurj)
- `OCR` models optimized for improved accuracy and coverage of Latin script recognition, and updated Cyrillic, Arabic, Devanagari, Telugu (te), and Tamil (ta) language systems to `ppocr-v5` version, with accuracy improved by over 40% compared to previous models
- `vlm` backend optimizations
- `table_caption` and `table_footnote` matching logic optimized to improve the accuracy of table caption and footnote matching and reading order rationality in scenarios with multiple consecutive tables on a page
- Optimized CPU resource usage during high concurrency when using `vllm` backend, reducing server pressure

View File

@@ -44,11 +44,11 @@
</div>
# 更新记录
- 2025/10/24 2.6.0 发布
- 2025/10/24 2.6.2 发布
- `pipline`后端优化
- 增加对中文公式的实验性支持,可通过配置环境变量`export MINERU_FORMULA_CH_SUPPORT=1`开启。该功能可能会导致MFR速率略微下降、部分长公式识别失败等问题建议仅在需要解析中文公式的场景下开启。如需关闭该功能可将环境变量设置为`0`
- `OCR`速度大幅提升200%~300%,感谢 @cjsdurj 提供的优化方案
- `OCR`模型更新西里尔文(cyrillic)、阿拉伯文(arabic)、天城文(devanagari)、泰卢固语(te)、泰米尔语(ta)语系至`ppocr-v5`版本精度相比上代模型提升40%以上
- `OCR`速度大幅提升200%~300%,感谢 [@cjsdurj](https://github.com/cjsdurj) 提供的优化方案
- `OCR`模型优化拉丁文识别的准度和广度,并更新西里尔文(cyrillic)、阿拉伯文(arabic)、天城文(devanagari)、泰卢固语(te)、泰米尔语(ta)语系至`ppocr-v5`版本精度相比上代模型提升40%以上
- `vlm`后端优化
- `table_caption``table_footnote`匹配逻辑优化,提升页内多张连续表场景下的表格标题和脚注的匹配准确率和阅读顺序合理性
- 优化使用`vllm`后端时高并发时的cpu资源占用降低服务端压力

View File

@@ -44,7 +44,7 @@ def enable_custom_logits_processors() -> bool:
return True
def set_defult_gpu_memory_utilization() -> float:
def set_default_gpu_memory_utilization() -> float:
from vllm import __version__ as vllm_version
if version.parse(vllm_version) >= version.parse("0.11.0"):
return 0.7
@@ -52,7 +52,7 @@ def set_defult_gpu_memory_utilization() -> float:
return 0.5
def set_defult_batch_size() -> int:
def set_default_batch_size() -> int:
try:
device = get_device()
vram = get_vram(device)

View File

@@ -4,7 +4,7 @@ import time
from loguru import logger
from .utils import enable_custom_logits_processors, set_defult_gpu_memory_utilization, set_defult_batch_size
from .utils import enable_custom_logits_processors, set_default_gpu_memory_utilization, set_default_batch_size
from .model_output_to_middle_json import result_to_middle_json
from ...data.data_reader_writer import DataWriter
from mineru.utils.pdf_image_tools import load_images_from_pdf
@@ -74,9 +74,11 @@ class ModelSingleton:
use_fast=True,
)
if batch_size == 0:
batch_size = set_defult_batch_size()
batch_size = set_default_batch_size()
else:
os.environ["OMP_NUM_THREADS"] = "1"
if os.getenv('OMP_NUM_THREADS') is None:
os.environ["OMP_NUM_THREADS"] = "1"
if backend == "vllm-engine":
try:
import vllm
@@ -84,7 +86,7 @@ class ModelSingleton:
except ImportError:
raise ImportError("Please install vllm to use the vllm-engine backend.")
if "gpu_memory_utilization" not in kwargs:
kwargs["gpu_memory_utilization"] = set_defult_gpu_memory_utilization()
kwargs["gpu_memory_utilization"] = set_default_gpu_memory_utilization()
if "model" not in kwargs:
kwargs["model"] = model_path
if enable_custom_logits_processors() and ("logits_processors" not in kwargs):
@@ -99,7 +101,7 @@ class ModelSingleton:
except ImportError:
raise ImportError("Please install vllm to use the vllm-async-engine backend.")
if "gpu_memory_utilization" not in kwargs:
kwargs["gpu_memory_utilization"] = set_defult_gpu_memory_utilization()
kwargs["gpu_memory_utilization"] = set_default_gpu_memory_utilization()
if "model" not in kwargs:
kwargs["model"] = model_path
if enable_custom_logits_processors() and ("logits_processors" not in kwargs):

View File

@@ -28,82 +28,6 @@ Multilingual_PP-OCRv3_det_infer:
name: DBHead
k: 50
en_PP-OCRv3_det_infer:
model_type: det
algorithm: DB
Transform:
Backbone:
name: MobileNetV3
scale: 0.5
model_name: large
disable_se: True
Neck:
name: RSEFPN
out_channels: 96
shortcut: True
Head:
name: DBHead
k: 50
ch_PP-OCRv3_det_infer:
model_type: det
algorithm: DB
Transform:
Backbone:
name: MobileNetV3
scale: 0.5
model_name: large
disable_se: True
Neck:
name: RSEFPN
out_channels: 96
shortcut: True
Head:
name: DBHead
k: 50
en_PP-OCRv4_rec_infer:
model_type: rec
algorithm: SVTR_LCNet
Transform:
Backbone:
name: PPLCNetV3
scale: 0.95
Head:
name: MultiHead
out_channels_list:
CTCLabelDecode: 97 #'blank' + ...(62) + ' '
head_list:
- CTCHead:
Neck:
name: svtr
dims: 120
depth: 2
hidden_dims: 120
kernel_size: [ 1, 3 ]
use_guide: True
Head:
fc_decay: 0.00001
- NRTRHead:
nrtr_dim: 384
max_text_length: 25
ch_PP-OCRv4_det_infer:
model_type: det
algorithm: DB
Transform: null
Backbone:
name: PPLCNetV3
scale: 0.75
det: True
Neck:
name: RSEFPN
out_channels: 96
shortcut: True
Head:
name: DBHead
k: 50
ch_PP-OCRv5_det_infer:
model_type: det
algorithm: DB
@@ -152,57 +76,6 @@ ch_PP-OCRv4_det_server_infer:
k: 50
mode: "large"
ch_PP-OCRv4_rec_infer:
model_type: rec
algorithm: SVTR_LCNet
Transform:
Backbone:
name: PPLCNetV3
scale: 0.95
Head:
name: MultiHead
out_channels_list:
CTCLabelDecode: 6625 #'blank' + ...(6623) + ' '
head_list:
- CTCHead:
Neck:
name: svtr
dims: 120
depth: 2
hidden_dims: 120
kernel_size: [ 1, 3 ]
use_guide: True
Head:
fc_decay: 0.00001
- NRTRHead:
nrtr_dim: 384
max_text_length: 25
ch_PP-OCRv4_rec_server_infer:
model_type: rec
algorithm: SVTR_HGNet
Transform:
Backbone:
name: PPHGNet_small
Head:
name: MultiHead
out_channels_list:
CTCLabelDecode: 6625 #'blank' + ...(6623) + ' '
head_list:
- CTCHead:
Neck:
name: svtr
dims: 120
depth: 2
hidden_dims: 120
kernel_size: [ 1, 3 ]
use_guide: True
Head:
fc_decay: 0.00001
- NRTRHead:
nrtr_dim: 384
max_text_length: 25
ch_PP-OCRv4_rec_server_doc_infer:
model_type: rec
algorithm: SVTR_HGNet
@@ -280,174 +153,6 @@ ch_PP-OCRv5_rec_infer:
nrtr_dim: 384
max_text_length: 25
chinese_cht_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [1, 2]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 8423
fc_decay: 0.00001
latin_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 187
fc_decay: 0.00001
cyrillic_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 165
fc_decay: 0.00001
arabic_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 164
fc_decay: 0.00001
korean_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 3690
fc_decay: 0.00001
japan_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 4401
fc_decay: 0.00001
ta_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 130
fc_decay: 0.00001
te_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 153
fc_decay: 0.00001
ka_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
@@ -469,27 +174,6 @@ ka_PP-OCRv3_rec_infer:
# out_channels: 155
fc_decay: 0.00001
devanagari_PP-OCRv3_rec_infer:
model_type: rec
algorithm: SVTR
Transform:
Backbone:
name: MobileNetV1Enhance
scale: 0.5
last_conv_stride: [ 1, 2 ]
last_pool_type: avg
Neck:
name: SequenceEncoder
encoder_type: svtr
dims: 64
depth: 2
hidden_dims: 120
use_guide: True
Head:
name: CTCHead
# out_channels: 169
fc_decay: 0.00001
korean_PP-OCRv5_rec_infer:
model_type: rec
algorithm: SVTR_HGNet
@@ -526,7 +210,7 @@ latin_PP-OCRv5_rec_infer:
Head:
name: MultiHead
out_channels_list:
CTCLabelDecode: 504
CTCLabelDecode: 838
head_list:
- CTCHead:
Neck:

View File

@@ -1,162 +0,0 @@
!
#
$
%
&
'
(
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
É
é
ء
آ
أ
ؤ
إ
ئ
ا
ب
ة
ت
ث
ج
ح
خ
د
ذ
ر
ز
س
ش
ص
ض
ط
ظ
ع
غ
ف
ق
ك
ل
م
ن
ه
و
ى
ي
ً
ٌ
ٍ
َ
ُ
ِ
ّ
ْ
ٓ
ٔ
ٰ
ٱ
ٹ
پ
چ
ڈ
ڑ
ژ
ک
ڭ
گ
ں
ھ
ۀ
ہ
ۂ
ۃ
ۆ
ۇ
ۈ
ۋ
ی
ې
ے
ۓ
ە
١
٢
٣
٤
٥
٦
٧
٨
٩

View File

@@ -1,163 +0,0 @@
!
#
$
%
&
'
(
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
É
é
Ё
Є
І
Ј
Љ
Ў
А
Б
В
Г
Д
Е
Ж
З
И
Й
К
Л
М
Н
О
П
Р
С
Т
У
Ф
Х
Ц
Ч
Ш
Щ
Ъ
Ы
Ь
Э
Ю
Я
а
б
в
г
д
е
ж
з
и
й
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
щ
ъ
ы
ь
э
ю
я
ё
ђ
є
і
ј
љ
њ
ћ
ў
џ
Ґ
ґ

View File

@@ -1,167 +0,0 @@
!
#
$
%
&
'
(
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
É
é
ि

View File

@@ -1,95 +0,0 @@
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/

View File

@@ -1,185 +0,0 @@
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
]
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
}
¡
£
§
ª
«
­
°
²
³
´
µ
·
º
»
¿
À
Á
Â
Ä
Å
Ç
È
É
Ê
Ë
Ì
Í
Î
Ï
Ò
Ó
Ô
Õ
Ö
Ú
Ü
Ý
ß
à
á
â
ã
ä
å
æ
ç
è
é
ê
ë
ì
í
î
ï
ñ
ò
ó
ô
õ
ö
ø
ù
ú
û
ü
ý
ą
Ć
ć
Č
č
Đ
đ
ę
ı
Ł
ł
ō
Œ
œ
Š
š
Ÿ
Ž
ž
ʒ
β
δ
ε
з

View File

@@ -1,18 +1,3 @@
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
@@ -23,13 +8,6 @@ $
7
8
9
:
;
<
=
>
?
@
A
B
C
@@ -56,12 +34,6 @@ W
X
Y
Z
[
\
]
^
_
`
a
b
c
@@ -88,41 +60,6 @@ w
x
y
z
{
|
}
~
¡
¢
£
¤
¥
¦
§
¨
©
ª
«
¬
­
®
¯
°
±
²
³
´
µ
·
¸
¹
º
»
¼
½
¾
¿
À
Á
Â
@@ -187,63 +124,126 @@ z
ý
þ
ÿ
Ā
ā
Ă
ă
Ą
ą
Ć
ć
Ĉ
ĉ
Ċ
ċ
Č
č
Ď
ď
Đ
đ
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ě
ě
Ĝ
ĝ
Ğ
ğ
Ġ
ġ
Ģ
ģ
Ĥ
ĥ
Ħ
ħ
Ĩ
ĩ
Ī
ī
Ĭ
ĭ
Į
į
İ
ı
IJ
ij
Ĵ
ĵ
Ķ
ķ
ĸ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ŀ
ŀ
Ł
ł
Ń
ń
Ņ
ņ
Ň
ň
ʼn
Ŋ
ŋ
Ō
ō
Ŏ
ŏ
Ő
ő
Œ
œ
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ţ
ţ
Ť
ť
Ŧ
ŧ
Ũ
ũ
Ū
ū
Ŭ
ŭ
Ů
ů
Ű
ű
Ų
ų
Ŵ
ŵ
Ŷ
ŷ
Ÿ
Ź
ź
@@ -251,43 +251,295 @@ z
ż
Ž
ž
ſ
ƀ
Ɓ
Ƃ
ƃ
Ƅ
ƅ
Ɔ
Ƈ
ƈ
Ɖ
Ɗ
Ƌ
ƌ
ƍ
Ǝ
Ə
Ɛ
Ƒ
ƒ
ʒ
Ω
α
β
γ
δ
ε
ζ
η
θ
ι
κ
λ
μ
ν
ξ
ο
π
ρ
ς
σ
τ
υ
φ
χ
ψ
ω
з
Ɠ
Ɣ
ƕ
Ɩ
Ɨ
Ƙ
ƙ
ƚ
ƛ
Ɯ
Ɲ
ƞ
Ɵ
Ơ
ơ
Ƣ
ƣ
Ƥ
ƥ
Ʀ
Ƨ
ƨ
Ʃ
ƪ
ƫ
Ƭ
ƭ
Ʈ
Ư
ư
Ʊ
Ʋ
Ƴ
ƴ
Ƶ
ƶ
Ʒ
Ƹ
ƹ
ƺ
ƻ
Ƽ
ƽ
ƾ
ƿ
ǀ
ǁ
ǂ
ǃ
DŽ
Dž
dž
LJ
Lj
lj
NJ
Nj
nj
Ǎ
ǎ
Ǐ
ǐ
Ǒ
ǒ
Ǔ
ǔ
Ǖ
ǖ
Ǘ
ǘ
Ǚ
ǚ
Ǜ
ǜ
ǝ
Ǟ
ǟ
Ǡ
ǡ
Ǣ
ǣ
Ǥ
ǥ
Ǧ
ǧ
Ǩ
ǩ
Ǫ
ǫ
Ǭ
ǭ
Ǯ
ǯ
ǰ
DZ
Dz
dz
Ǵ
ǵ
Ƕ
Ƿ
Ǹ
ǹ
Ǻ
ǻ
Ǽ
ǽ
Ǿ
ǿ
Ȁ
ȁ
Ȃ
ȃ
Ȅ
ȅ
Ȇ
ȇ
Ȉ
ȉ
Ȋ
ȋ
Ȍ
ȍ
Ȏ
ȏ
Ȑ
ȑ
Ȓ
ȓ
Ȕ
ȕ
Ȗ
ȗ
Ș
ș
Ț
ț
Ȝ
ȝ
Ȟ
ȟ
Ƞ
ȡ
Ȣ
ȣ
Ȥ
ȥ
Ȧ
ȧ
Ȩ
ȩ
Ȫ
ȫ
Ȭ
ȭ
Ȯ
ȯ
Ȱ
ȱ
Ȳ
ȳ
ȴ
ȵ
ȶ
ȷ
ȸ
ȹ
Ⱥ
Ȼ
ȼ
Ƚ
Ⱦ
ȿ
ɀ
Ɂ
ɂ
Ƀ
Ʉ
Ʌ
Ɇ
ɇ
Ɉ
ɉ
Ɋ
ɋ
Ɍ
ɍ
Ɏ
ɏ
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
:
;
<
=
>
?
@
[
\
]
_
`
{
|
}
^
~
©
®
¤
¦
§
¨
ª
«
¬
¯
°
²
³
´
µ
¸
¹
º
»
¼
½
¾
¿
×
@@ -302,15 +554,11 @@ z
@@ -322,25 +570,17 @@ z
¢
£
¥
@@ -365,111 +605,6 @@ z
@@ -490,13 +625,212 @@ z
<EFBFBD>
ƒ
À
Á
Â
Ã
Ä
Å
Æ
Ç
È
É
Ê
Ë
Ì
Í
Î
Ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
Ø
Ù
Ú
Û
Ü
Ý
Þ
à
á
â
ã
ä
å
æ
ç
è
é
ê
ë
ì
í
î
ï
ð
ñ
ò
ó
ô
õ
ö
ø
ù
ú
û
ü
ý
þ
ÿ
Α
Β
Γ
Δ
Ε
Ζ
Η
Θ
Ι
Κ
Λ
Μ
Ν
Ξ
Ο
Π
Ρ
Σ
Τ
Υ
Φ
Χ
Ψ
Ω
α
β
γ
δ
ε
ζ
η
θ
ι
κ
λ
μ
ν
ξ
ο
π
ρ
σ
ς
τ
υ
φ
χ
ψ
ω
𝑢
𝜓
÷
·
±

View File

@@ -1,128 +0,0 @@
t
a
_
i
m
g
/
3
I
L
S
V
R
C
2
0
1
v
l
9
7
8
.
j
p
ி
6
5
4
s
c
e
n
w
F
T
O
P
K
A
N
G
Y
E
M
H
U
B
o
b
D
d
r
W
u
y
f
X
k
q
h
J
z
Z
Q
x
-
'
$
,
%
@
é
!
#
+
É
&
:
(
?

View File

@@ -1,151 +0,0 @@
t
e
_
i
m
g
/
5
I
L
S
V
R
C
2
0
1
v
a
l
3
4
8
9
.
j
p
ి
7
6
'
[
;
-
,
|
?
:
"
(
!
+
)
*
=
&
]
£
$
s
c
n
w
k
J
G
u
d
r
E
o
h
y
b
f
B
M
O
T
N
D
P
A
F
x
W
Y
U
H
K
X
z
Z
Q
q
É
%
#
@
é

View File

@@ -3,26 +3,14 @@ lang:
det: ch_PP-OCRv5_det_infer.pth
rec: ch_PP-OCRv5_rec_infer.pth
dict: ppocrv5_dict.txt
ch_lite_v4:
det: ch_PP-OCRv5_det_infer.pth
rec: ch_PP-OCRv4_rec_infer.pth
dict: ppocr_keys_v1.txt
ch_server:
det: ch_PP-OCRv5_det_infer.pth
rec: ch_PP-OCRv5_rec_server_infer.pth
dict: ppocrv5_dict.txt
ch_server_v4:
det: ch_PP-OCRv5_det_infer.pth
rec: ch_PP-OCRv4_rec_server_infer.pth
dict: ppocr_keys_v1.txt
ch:
det: ch_PP-OCRv5_det_infer.pth
rec: ch_PP-OCRv4_rec_server_doc_infer.pth
dict: ppocrv4_doc_dict.txt
en_v4:
det: en_PP-OCRv3_det_infer.pth
rec: en_PP-OCRv4_rec_infer.pth
dict: en_dict.txt
korean:
det: ch_PP-OCRv5_det_infer.pth
rec: korean_PP-OCRv5_rec_infer.pth

View File

@@ -1,7 +1,7 @@
import os
import sys
from mineru.backend.vlm.custom_logits_processors import enable_custom_logits_processors
from mineru.backend.vlm.utils import set_default_gpu_memory_utilization, enable_custom_logits_processors
from mineru.utils.models_download_utils import auto_download_and_get_model_root_path
from vllm.entrypoints.cli.main import main as vllm_main
@@ -43,7 +43,8 @@ def main():
if not has_port_arg:
args.extend(["--port", "30000"])
if not has_gpu_memory_utilization_arg:
args.extend(["--gpu-memory-utilization", "0.7"])
gpu_memory_utilization = str(set_default_gpu_memory_utilization())
args.extend(["--gpu-memory-utilization", gpu_memory_utilization])
if not model_path:
model_path = auto_download_and_get_model_root_path("/", "vlm")
if (not has_logits_processors_arg) and custom_logits_processors:
@@ -52,7 +53,8 @@ def main():
# 重构参数,将模型路径作为位置参数
sys.argv = [sys.argv[0]] + ["serve", model_path] + args
os.environ["OMP_NUM_THREADS"] = "1"
if os.getenv('OMP_NUM_THREADS') is None:
os.environ["OMP_NUM_THREADS"] = "1"
# 启动vllm服务器
print(f"start vllm server: {sys.argv}")

View File

@@ -1 +1 @@
__version__ = "2.5.4"
__version__ = "2.6.1"