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-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)

背景故事

multi-ocr-sdk 的开发背景源于对 deepseek-OCR 模型的尝试和改进。开发者发现 deepseek-OCR 模型效果很好,但现有的 SDK 调用不便,于是进行了改进。此外,由于硅基流动免费的 ds-ocr 容易触发限制,开发者希望支持更多的 OCR 模型,如 qwen-ocr。经过重构,SDK 现在支持了 VLM,并测试了 qwen3-vl-8b 模型,效果显著。未来计划支持更多 OCR 引擎,并欢迎问题和提出改进建议。

标签: none

评论已关闭