funstory-ai/BabelDOC

Yet Another Document Translator

BabelDOC – 二言語PDF出力による科学論文のPDF翻訳

何であるか – BabelDOC は、Python ライブラリ / CLI であり、特に科学論文を含む PDF ドキュメントを元言語から目的言語に翻訳し、二言語 PDF(原文+翻訳を横並びまたは交互に配置)を生成するツールです。LLM(OpenAI互換モデル、例:gpt-4o-miniglm-4-flashdeepseek-chat など)を活用して翻訳を実行し、レイアウト、数式、表、フォントを保持するための豊富な PDF 前処理オプションを備えています。

主な機能

  • コマンドラインインターフェースbabeldoc)と Python API を提供し、プログラムによる利用が可能。
  • 主に 英語 → 中国語 をサポート。基本的な英語 → 英語翻訳も利用可能。
  • 二言語PDF生成 – 原文と翻訳ページを横並び、交互、または別々の単言語ファイルとして出力。
  • 細かいPDF処理:ページ選択、行分割、OCRの回避策、数式検出、表の翻訳、フォントの上書き、透かし制御、問題PDFへの互換性調整。
  • 用語集の挿入 – CSV 形式の用語集を読み込み、ドメイン固有の用語をLLMプロンプトに強制的に含める。
  • オフラインアセット – 1つのzipファイルで必要なフォントとモデルをバンドルし、オフライン環境(空気隔離環境)での展開を可能に。
  • レート制限と並列処理 – QPS制限と設定可能なワーカープール。
  • セルフデプロイuv または仮想環境でローカル実行可能、またはホストされたベータサービス「Immersive Translate – BabelDOC」(月1,000ページの無料枠)を利用可能。

一般的なワークフロー

# ツールのインストール(uv と Python 3.12 必須)
uv tool install --python 3.12 BabelDOC

# OpenAI互換モデルを使って1つ以上の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)などを変更可能。

インストール

  • 推奨:uv を使用(uv tool install --python 3.12 BabelDOC)。
  • 代替:リポジトリをクローンし、uv run babeldoc … を実行。
  • PyPI にも公開(pip install BabelDOC でも動作可能だが、READMEでは最適な体験のためにuvを推奨)。

用途

  • AI駆動翻訳:従来のMTエンジンではなく、LLMが主な処理を担う。
  • ドキュメント処理パイプライン:レイアウト解析、オプションのOCR、LLMプロンプトを1つのエンドツーエンドツールで統合。
  • 埋め込み可能:他のPythonプログラムから呼び出し可能、またはリファレンスマネージャプラグイン(例:Zotero 用 immersive-translate/zotero-immersivetranslateguaguastandup/zotero-pdf2zh)に統合可能。

状態とコミュニティ

  • ベータ版オンラインサービスあり。無料トライアルで月1,000ページまで。
  • オープンソース、MITスタイルライセンス(LICENSE を参照)。
  • コントリビューション歓迎。READMEに採用ページへのリンクあり。

有用なリンク


上記のすべての情報はリポジトリのREADMEから直接取得。追加機能は推測されていない。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト