Skip to content

Commit 0bc4e62

Browse files
committed
mineru 2.5
1 parent 3be0215 commit 0bc4e62

File tree

4 files changed

+954
-1496
lines changed

4 files changed

+954
-1496
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ARG POETRY_VERSION=1.6.1
22

3-
FROM lmsysorg/sglang:v0.4.9.post6-cu126
3+
FROM vllm/vllm-openai:v0.10.1.1
44
# Allow statements and log messages to immediately appear in the logs
55
ENV PYTHONUNBUFFERED True
66

app/serverless.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,25 @@
2222
# except Exception:
2323
# pass
2424

25-
def _maybe_init_sglang_engine_in_main() -> None:
26-
"""Initialize sglang engine in the main process if requested via env.
25+
def _maybe_init_engine_in_main() -> None:
26+
"""Initialize VLM engine in the main process if requested via env.
2727
2828
Per MinerU guidance, sglang-engine must be initialized in the main process.
2929
This avoids scheduler failures when workers spawn without prior initialization.
3030
"""
3131
backend_env = os.getenv("MINERU_BACKEND", "pipeline").lower()
32-
if backend_env == "vlm-sglang-engine":
33-
try:
34-
from mineru.backend.vlm.vlm_analyze import ModelSingleton
35-
# Initialize once; ModelSingleton handles idempotency
36-
ModelSingleton().get_model("sglang-engine", None, None)
37-
except Exception:
38-
# Defer detailed errors to runtime path to avoid import-time crashes
39-
pass
32+
from mineru.backend.vlm.vlm_analyze import ModelSingleton
33+
34+
35+
try:
36+
37+
if backend_env == "vlm-vllm-async-engine":
38+
ModelSingleton().get_model("vllm-async-engine", None, None)
39+
except Exception:
40+
# Defer detailed errors to runtime path to avoid import-time crashes
41+
pass
4042

41-
_maybe_init_sglang_engine_in_main()
43+
_maybe_init_engine_in_main()
4244

4345
class TimeoutError(Exception):
4446
pass
@@ -184,7 +186,7 @@ async def convert_to_markdown_dispatch(pdf_bytes, filename=None, **kwargs):
184186
Prefer using aio_do_parse to match official MinerU entrypoints.
185187
"""
186188
backend_env = os.getenv("MINERU_BACKEND", "pipeline").lower()
187-
server_url = os.getenv("MINERU_SGLANG_SERVER_URL")
189+
server_url = os.getenv("MINERU_VLM_SERVER_URL") or os.getenv("MINERU_SGLANG_SERVER_URL")
188190
lang = kwargs.get("lang", "en")
189191
parse_method = kwargs.get("parse_method", "auto")
190192
formula_enable = kwargs.get("formula_enable", True)

0 commit comments

Comments
 (0)