multi-ocr-sdk:支持多种 OCR 引擎的 Python SDK
multi-ocr-sdk 是一个开源的 Python SDK,它支持多种 OCR(光学字符识别)引擎,包括 deepseek-OCR 和视觉模型 VLM。这个 SDK 的主要功能是将文档(如 PDF 和图片)高效且高精度地转换为 Markdown 格式的文本。
安装
可以通过 pip 或 uv 来安装这个 SDK。
# 通过pip安装
pip install multi-ocr-sdk
# 或者通过uv安装
uv add multi-ocr-sdkVLM的基础用法
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)背景故事
multi-ocr-sdk 的开发背景源于对 deepseek-OCR 模型的尝试和改进。开发者发现 deepseek-OCR 模型效果很好,但现有的 SDK 调用不便,于是进行了改进。此外,由于硅基流动免费的 ds-ocr 容易触发限制,开发者希望支持更多的 OCR 模型,如 qwen-ocr。经过重构,SDK 现在支持了 VLM,并测试了 qwen3-vl-8b 模型,效果显著。未来计划支持更多 OCR 引擎,并欢迎问题和提出改进建议。
评论已关闭