Chandra OCR 2:把複雜 PDF、表格與手寫文件轉成可餵給 RAG 和 Agent 的結構化文本
這篇 Threads 提到的 datalab-to/chandra,值得收進知識庫,因為它打到的是 RAG 和 Agent 落地時最常見、但很容易被低估的瓶頸:不是「有沒有 OCR」,而是「OCR 出來的內容能不能直接被 LLM 使用」。
傳統 OCR 常見問題是,它可以辨識字,但很容易破壞文件結構。遇到雙欄排版、表格、數學公式、掃描舊文件、手寫表單或核取方塊時,輸出常常變成一團順序混亂的文字。這種文字看似有內容,實際上拿去做 RAG 或交給 Agent 處理時,會製造兩個問題:
- 上下文順序錯亂,LLM 讀到的是錯的文件結構。
- 表格、欄位、勾選狀態、公式等關鍵資訊被打散,導致後續摘要、問答或自動填表容易幻覺。
Chandra OCR 2 的定位比較像「文件理解模型」而不是傳統 OCR。根據官方 README,它主打把圖片與 PDF 轉成結構化 HTML、Markdown 或 JSON,同時保留 layout information。它的特點包括:
- 支援 Markdown、HTML、JSON 輸出
- 保留版面與閱讀順序
- 支援 90+ 語言
- 對手寫內容有強支援
- 能重建表單與核取方塊
- 對表格、數學公式、複雜版面表現強
- 可抽取圖片與圖表,並加入 caption 與結構化資料
- 支援 Hugging Face 本地推論,也支援 vLLM server 遠端推論
這件事對 RAG 很重要。RAG 的品質不只取決於 embedding 或 reranker,前處理階段的文件解析品質常常更關鍵。如果 PDF 的表格被攤平成亂序文字,後面再好的向量搜尋也只是把錯的上下文找出來;如果表單的勾選框、欄位關係和註記能被保留下來,LLM 才有機會做可靠的抽取、判讀與自動化處理。
Chandra 比較適合的場景包括:
- 企業內部大量 PDF 文件轉知識庫
- 掃描合約、報表、舊文件數位化
- 含表格、公式、雙欄排版的論文或技術文件
- 手寫表單、勾選欄位、紙本申請書解析
- 給 Agent 做後續審核、分類、摘要、問答或資料抽取
安裝與使用上,官方提供 CLI:
pip install chandra-ocr
# 使用 vLLM server,官方建議的輕量安裝方式
chandra_vllm
chandra input.pdf ./output
# 使用 Hugging Face 本地模型
pip install chandra-ocr[hf]
chandra input.pdf ./output --method hf
輸出會包含 Markdown、HTML、metadata JSON,也可以選擇是否抽取圖片。若是批量或正式服務,官方建議走 vLLM server;README 也提到可用單張 H100 80GB 做高併發推論,官方估計真實世界約可到 2 pages/s,不過這種數字仍要依文件複雜度、GPU、batch 設定和輸出長度實測。
我的判斷:Chandra OCR 2 最值得注意的不是「又一個 OCR 模型」,而是它代表文件處理正在從文字辨識走向「結構保真」。對 AI 系統來說,文件解析不是前置小工具,而是 RAG 和 Agent 是否可靠的資料地基。只要資料地基是亂的,後面模型再強也只是在錯誤脈絡上推理。
因此,若之後 BigIntTech 或客戶案要處理大量 PDF、掃描件、手寫表單、合約、報表,Chandra OCR 2 值得列入候選工具。但要注意授權:官方 README 寫明程式碼是 Apache 2.0,模型權重是修改版 OpenRAIL-M,研究、個人用途,以及募資/營收低於 200 萬美元的新創可免費;更廣泛的商業 self-hosting 或 on-prem 使用需要看官方商業授權。
來源: