funstory-ai/BabelDOC
Yet Another Document Translator
BabelDOC – 二言語PDF出力による科学論文のPDF翻訳
何であるか – BabelDOC は、Python ライブラリ / CLI であり、特に科学論文を含む PDF ドキュメントを元言語から目的言語に翻訳し、二言語 PDF(原文+翻訳を横並びまたは交互に配置)を生成するツールです。LLM(OpenAI互換モデル、例:gpt-4o-mini、glm-4-flash、deepseek-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-immersivetranslateやguaguastandup/zotero-pdf2zh)に統合可能。
状態とコミュニティ
- ベータ版オンラインサービスあり。無料トライアルで月1,000ページまで。
- オープンソース、MITスタイルライセンス(
LICENSEを参照)。 - コントリビューション歓迎。READMEに採用ページへのリンクあり。
有用なリンク
- オンラインデモ:https://app.immersivetranslate.com/babel-doc/
- セルフホストバックエンド:https://github.com/PDFMathTranslate-next/PDFMathTranslate-next
- ドキュメント:https://funstory-ai.github.io/BabelDOC/supported_languages/
- Telegramコミュニティ:ヘッダー内のバッジ。
上記のすべての情報はリポジトリのREADMEから直接取得。追加機能は推測されていない。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト