项目介绍
MULTI-OCR-SDK 是一个简单高效的 Python SDK,用于调用各类OCR API(现已支持deepseek-OCR、视觉模型VLM、paddleocr),可以高精度、高性能地将文档(PDF、图片)转换为 Markdown 文本。
使用
安装
# 通过pip安装
pip install multi-ocr-sdk
# 或者通过uv安装
uv add multi-ocr-sdk
VLM的基础用法
import os
from multi_ocr_sdk import VLMClient
API_KEY = "your_api_key_here"
BASE_URL = "http://your_url/v1/chat/completions"
file_path = "./examples/example_files/DeepSeek_OCR_paper_mini.pdf"
client = VLMClient(api_key=API_KEY, base_url=BASE_URL)
result = client.parse(
file_path=file_path,
prompt="你是一个ocr机器人,识别输入的文件内容,输出为markdown格式,尽可能保留图表等格式信息,你不需要评论概括文件内容,只需要输出就行",
model="Qwen3-VL-8B",
# timeout=100, # 可选参数,默认60s,如果文件很大,VLM需要处理很久,timeout需要设置长一些
# dpi=60 # 可选参数,默认72,DPI越低,图片越糊,消耗的输入token越少,识别效果越差,自行调整至合适比例
# pages=[1,2] # 可选参数,如果是处理单张图片或者单页pdf不需要这个参数,如果是处理多页pdf默认处理所有页,可以通过这个参数处理指定页
)
print(result)
deepseek-ocr的基础用法
from multi_ocr_sdk import DeepSeekOCR
client = DeepSeekOCR(
api_key="your_api_key",
base_url="https://api.siliconflow.cn/v1/chat/completions" # 或您的提供商端点
)
# 简单文档
text = client.parse("invoice.pdf", mode="free_ocr")
# 复杂表格
text = client.parse("statement.pdf", mode="grounding")
# 自定义 DPI
text = client.parse("document.pdf", dpi=300)
背景故事
前一段时间deepseek发布了ocr模型,尝试了一下,非常好使
后来发现github上有人开发了deepseek-ocr-sdk,调用起来很方便,在此基础上提了一些需求,和原作者一起改吧改吧,加了些新功能
使用过程中发现硅基流动免费的ds-ocr很容易触发限制,而我又不打算氪金升级,如果换到其他第三方效果不太行(试了几个L站的第三方,体验不佳),于是想着能不能支持一些其他的ocr模型,比如qwen-ocr?
经过一番折腾,最终在原本的deepseek-ocr-sdk基础上进行了代码重构,现在支持了VLM,经过实测qwen3-vl-8b就能有很棒的效果
接下来会支持更多常用的ocr引擎,欢迎大家捉bug,提pr![]()