RpaidVLM-OCR:基于 vLLM 加速的端到端 VLM-OCR 统一推理框架,多模型兼容、一套接口、开箱即用。
项目定位:只集成端到端 OCR 领域大模型,力争在效果和模型大小之间找到一个平衡。
与现有项目区别:
- RapidOCR: 仅集成单纯从图像中提取文字功能,目前仅包括两阶段传统方案。
- RapidDoc: 基于 MinerU,两阶段方案,集成多个小模型来做文档解析任务。
- RapidVLM-OCR: 专注端到端 VLM-OCR,解决综合性任务。
-
安装
vllm,参见官方文档:docs。下面是测试vllm是否成功安装的最小脚本:from vllm import LLM, SamplingParams # 极小测试模型(会自动从 Hugging Face 下载) llm = LLM(model="facebook/opt-125m", tensor_parallel_size=1) sampling_params = SamplingParams( max_tokens=32, temperature=0.7, ) outputs = llm.generate("Hello, vLLM is working!", sampling_params) for output in outputs: prompt = output.prompt generated_text = output.outputs[0].text print(f"Prompt: {prompt!r}") print(f"Generated: {generated_text!r}") print("✅ vLLM 推理成功")
-
安装
rapidvlm_ocrpip install rapidvlm_ocr
-
快速检查安装是否成功
rapidvlm_ocr check
预期输出类似:
rapidvlm_ocr check passed app: RapidVLMOCR
huggingface-cli download --resume-download baidu/Qianfan-OCR --local-dir Qianfan-OCRfrom rapidvlm_ocr import EngineType, ModelName, RapidVLMOCR, TaskType
model_path = "models/Qianfan-OCR"
app = RapidVLMOCR(
model_name=ModelName.QIANFAN_OCR,
model_path=model_path,
engine=EngineType.VLLM,
)
input_paths = [
"tests/test_files/QianFan_OCR/general_1.jpeg",
"tests/test_files/QianFan_OCR/general.jpg",
"tests/test_files/QianFan_OCR/document.png",
]
result = app(task_type=TaskType.DOCUMENT_PARSING, input_path=input_paths, batch_size=2)
print(result)from rapidvlm_ocr import EngineType, ModelName, RapidVLMOCR, TaskType
model_path = "models/Qianfan-OCR"
app = RapidVLMOCR(
model_name=ModelName.QIANFAN_OCR,
model_path=model_path,
engine=EngineType.VLLM,
)
result = app(
task_type=TaskType.DOCUMENT_PARSING,
input_path="tests/test_files/test.pdf",
batch_size=4,
)
print(result)说明:
- 公开接口参数已统一为
input_path/input_paths。 app(input_path="xxx.pdf")会使用pypdfium2将 PDF 按页渲染为图像,并默认走批处理。run()只用于单个图像输入;PDF 请使用app(...)或run_batch(...)。