百度開源 Unlimited-OCR 工具,實現長文件「一鏡到底」解析



百度近日在 GitHub 上正式開源 Unlimited-OCR 專案,宣稱將推動文件 OCR 技術進入「一鏡到底」(One-shot Long-horizon Parsing)的新時代。這款工具以 DeepSeek-OCR 為基礎,專注於一次性處理長文件、多頁 PDF 或複雜排版文件,適合企業文件自動化、學術論文解析與數位典藏等應用。

主要特色

  • 長文件處理能力:支援單次輸入長達數萬 token 的文件解析,減少傳統 OCR 需要分頁處理的繁瑣步驟。
  • 多格式支援:可直接處理單張圖片、多張圖片或完整 PDF 文件。
  • 開源與易用:基於 Hugging Face Transformers 與 SGLang 框架,提供完整 Python 範例。
  • 模型優勢:在複雜排版、表格、公式與手寫文字辨識上表現優異。

該專案已於 2026 年 6 月 23 日同步發布技術論文(arXiv),並在 ModelScope 平台提供模型下載。
如何下載與安裝

clone專案:

git clone https://github.com/baidu/Unlimited-OCR.git 
cd Unlimited-OCR 


使用 Transformers(推薦 NVIDIA GPU):
需要 Python 3.12+ 與 CUDA 12.9 環境,安裝依賴套件:

pip install torch torchvision transformers Pillow matplotlib einops addict easydict pymupdf psutil 

使用 SGLang(高效推論):
先安裝本地 wheel 檔案,再安裝相關依賴。

Python 串接範例

單張圖片處理

from transformers import AutoModel, AutoTokenizer 
import torch 
 
model_name = 'baidu/Unlimited-OCR' 
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True) 
model = AutoModel.from_pretrained( 
 model_name, 
 trust_remote_code=True, 
 use_safetensors=True, 
 torch_dtype=torch.bfloat16 
).eval().cuda() 
 
model.infer( 
 tokenizer, 
 prompt='document parsing.', 
 image_file='your_image.jpg', 
 output_path='output_dir', 
 base_size=1024, image_size=640, crop_mode=True, 
 max_length=32768, 
 save_results=True 
) 

多頁 PDF 處理

import fitz # PyMuPDF 
import tempfile, os 
 
def pdf_to_images(pdf_path, dpi=300): 
 doc = fitz.open(pdf_path) 
 tmp_dir = tempfile.mkdtemp(prefix='pdf_ocr_') 
 mat = fitz.Matrix(dpi / 72, dpi / 72) 
 paths = [] 
 for i, page in enumerate(doc): 
 out = os.path.join(tmp_dir, f'page_{i+1:04d}.png') 
 page.get_pixmap(matrix=mat).save(out) 
 paths.append(out) 
 doc.close() 
 return paths 
 
# 使用 infer_multi 處理 
model.infer_multi( 
 tokenizer, 
 prompt='Multi page parsing.', 
 image_files=pdf_to_images('your_doc.pdf', dpi=300), 
 output_path='output_dir', 
 image_size=1024, 
 max_length=32768, 
 save_results=True 
) 

使用注意事項

  • 硬體需求:建議使用具備充足 VRAM 的 NVIDIA GPU(至少 24GB 以上較佳),否則處理長文件時可能出現記憶體不足。
  • 模型大小:完整模型較大,下載與載入需較長時間,建議使用 ModelScope 或 Hugging Face 快取機制。
  • 授權與隱私:專案採用 MIT 授權,但處理的文件若涉及敏感資料,需注意隱私保護與合規問題。
  • 效能優化:長文件處理時可調整 max_length、ngram_window 等參數以平衡速度與準確度。
  • 更新頻率:專案尚在早期階段,建議定期檢查 GitHub 以取得最新版本與修正。

Unlimited-OCR 的推出,為開源 OCR 領域帶來重要進展,尤其適合需要處理大量複雜文件的企業與研究機構。開發者可透過 GitHub 取得完整程式碼與範例,加速導入自家工作流程。

參考來源:
GitHub 專案: https://github.com/baidu/Unlimited-OCR