funstory-ai/BabelDOC

Yet Another Document Translator

BabelDOC – 支援雙語輸出的PDF科學論文翻譯

是什麼 – BabelDOC 是一個 Python 庫 / CLI 工具,可將 PDF 文件(特別是科學論文)從原始語言翻譯至目標語言,並產生雙語 PDF(原文與翻譯並排或交錯排列)。它使用基於 LLM 的服務(OpenAI 相容模型,例如 gpt-4o-miniglm-4-flashdeepseek-chat 等)驅動翻譯,並提供豐富的 PDF 前處理選項,以保持版面、公式、表格與字型的完整性。

核心功能

  • 命令列介面babeldoc)與 Python API,支援程式化使用。
  • 主要支援 英文 → 中文;亦提供基本的英文 → 英文翻譯功能。
  • 雙語 PDF 產生 – 原文與翻譯頁面可並排、交錯排列,或輸出為獨立的單語文件。
  • 細粒度 PDF 處理:頁面選擇、行拆分、OCR 修復方案、公式偵測、表格翻譯、字型覆蓋、水印控制,以及對問題 PDF 的相容性優化。
  • 術語表注入 – 可載入 CSV 語彙表,強制將領域特定術語注入 LLM 提示中。
  • 離線資源包 – 單一 zip 檔案可打包所需字型與模型,用於離線部署(空氣隔離環境)。
  • 速率限制與平行處理 – 支援 QPS 限流與可設定的工作執行緒池。
  • 自部署 – 可透過 uv 或虛擬環境在本機執行,亦可透過托管的 Beta 服務 Immersive Translate – BabelDOC(每月 1,000 頁免費額度)使用。

典型工作流程

# 安裝工具(需 uv 與 Python 3.12)
uv tool install --python 3.12 BabelDOC

# 使用 OpenAI 相容模型翻譯一個或多個 PDF
babeldoc \
  --openai \
  --openai-model "gpt-4o-mini" \
  --openai-base-url "https://api.openai.com/v1" \
  --openai-api-key "YOUR_KEY" \
  --files paper.pdf

選項支援變更原始語言/目標語言(--lang-in, --lang-out)、選擇頁面(--pages)、啟用 OCR 修復、控制水印、提供術語表(--glossary-files)等。

安裝方式

  • 推薦:使用 uvuv tool install --python 3.12 BabelDOC)。
  • 替代方案:克隆倉儲後執行 uv run babeldoc …
  • 該套件已發布於 PyPI(pip install BabelDOC 可用,但 README 建議使用 uv 以獲得最佳體驗)。

適用情境

  • AI 驅動翻譯:翻譯由 LLM 完成,而非傳統機器翻譯引擎。
  • 文件處理流程:將版面分析、可選 OCR 與 LLM 提示整合為一個端對端工具。
  • 可嵌入性:可從其他 Python 程式呼叫,或整合至參考管理器外掛(例如透過 immersive-translate/zotero-immersivetranslateguaguastandup/zotero-pdf2zh 集成至 Zotero)。

狀態與社群

  • 提供 Beta 在線服務;免費方案每月提供 1,000 頁額度。
  • 開源,MIT 風格授權(詳見 LICENSE)。
  • 歡迎貢獻;README 中連結了徵才頁面。

有用連結


以上所有資訊均直接取自倉儲的 README,未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案