vllm拉起MinerU2.5-2509-1.2B及请求示例
·
测试验证环境
vllm version : 0.19.0
通过OpenAI服务API接口启动服务运行vllm命令
python3 -m vllm.entrypoints.openai.api_server --model /data/MinerU2.5-2059-1.2B \
--max-num-seqs 64 \
--max-model-len 16384 \
--max-num-batched-tokens 8092 \
--dtype bfloat16 \
--tensor-parallel-size 1 \
--api-key sk-sWHOCgcCHM7QL7CyqjlQxuMCPSIMwAKJ \
--host 192.168.0.11 \
--port 1025 \
--gpu-memory-utilization 0.9 \
--served-model-name MinerU2_5-2509-1_2B \
--enable-prefix-caching \
--enable-chunked-prefill \
--trust-remote-code
模型起来之后,测试示例
安装依赖python 包
pip install pymupdf requests
python 示例
import fitz # pymupdf
import base64
import requests
from io import BytesIO
# ---------- 配置 ----------
pdf_path = "test.pdf" # 你的测试 PDF 路径
page_num = 0 # 第一页(索引从0开始)
api_url = "http://192.168.0.11:1025/v1/chat/completions"
api_key = "sk-sWHOCgcCHM7QL7CyqjlQxuMCPSIMwAKJ"
# --------------------------
def pdf_page_to_base64(pdf_path, page_num=0, zoom=2.0):
"""将 PDF 的指定页转为 PNG 的 base64 字符串"""
doc = fitz.open(pdf_path)
page = doc[page_num]
# 放大渲染,提升 OCR 精度(zoom 越大图片越清晰,但数据量也越大)
mat = fitz.Matrix(zoom, zoom)
pix = page.get_pixmap(matrix=mat)
img_bytes = pix.tobytes("png")
b64 = base64.b64encode(img_bytes).decode("utf-8")
doc.close()
return b64
# 获取 base64 图片
img_b64 = pdf_page_to_base64(pdf_path, page_num, zoom=2.0)
# 构造请求
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
payload = {
"model": "MinerU2_5-2509-1_2B",
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{img_b64}"}
},
{
"type": "text",
"text": "请将该文档页面内容解析为 Markdown 格式,保留表格、标题等结构,不要遗漏任何文字。"
}
]
}
],
"max_tokens": 4096,
"temperature": 0
}
# 发送请求
resp = requests.post(api_url, headers=headers, json=payload)
if resp.status_code == 200:
markdown = resp.json()["choices"][0]["message"]["content"]
print(markdown)
else:
print(f"请求失败,状态码:{resp.status_code}")
print(resp.text)
测试结果如下:
PDF内容

识别结果

更多推荐
所有评论(0)