argosopentech/argos-translate

Open-source offline translation library written in Python

Argos Translate – オフライン機械翻訳ライブラリ

概要 – インターネット接続を必要とせず、ローカルでニューラル機械翻訳モデルを実行できるPythonパッケージです。OpenNMT / CTranslate2 推論エンジンをラップしており、シンプルなAPI、コマンドラインツール、および(別のリポジトリ経由で)デスクトップGUIを提供します。

主な機能

  • プラグイン形式の言語モデル – 翻訳モデルは「.argosmodel」zipファイルとして配布されます。argospm-index リポジトリには数十の学習済みモデル(アラビア語、中国語、フランス語、スワヒリ語など)がリストされており、パッケージマネージャー (argospm) でダウンロードとインストールが可能です。
  • ピボット翻訳 – 特定の言語ペアの直接モデルがない場合、Argos Translate はインストール済みのモデルを使用して、中間言語を経由してテキストを自動的にルーティングできます(例:es → en → fr)。
  • GPUサポート – 環境変数 ARGOS_DEVICE_TYPE=cuda (または auto) を設定すると、デバイスの選択が基盤となる CTranslate2 エンジンに渡され、CUDA 加速が有効になります。
  • 複数のフロントエンド
    • Pythonライブラリ (argostranslate.translate.translate)
    • CLI (argos-translate および argospm コマンド)
    • デスクトップGUI (別リポジトリの argos-translate-gui)
    • Web/API – LibreTranslate サービスは Argos Translate をベースに構築されており、REST エンドポイントを公開しています。
  • 拡張機能 – HTML翻訳用 (translate-html) やファイル全体用 (argos-translate-files) のヘルパーライブラリ。

インストール

# コアライブラリ
pip install argostranslate

# オプションのGUI
pip install argostranslategui

また、リポジトリをクローンして、仮想環境内で pip install -e. を実行してインストールすることもできます。

クイック例 (Python)

import argostranslate.package, argostranslate.translate

from_code, to_code = "en", "es"
# 最新のモデルリストを取得して必要なペアをインストール
argostranslate.package.update_package_index()
pkg = next(p for p in argostranslate.package.get_available_packages()
           if p.from_code == from_code and p.to_code == to_code)
argostranslate.package.install_from_path(pkg.download())

print(argostranslate.translate.translate("Hello World", from_code, to_code))
# → ¡Hola Mundo!

コマンドラインでの使用方法

argospm update                     # モデルインデックスを更新
argospm install translate-en_de    # 特定のモデルをインストール
argos-translate --from en --to de "Hello World!"
# → Hallo Welt!

エコシステムと関連プロジェクト

  • LibreTranslate – Argos Translate をバックエンドとして実行する公開Web APIおよびデモサイト。
  • argos‑train – Argos Translate と互換性のある独自のモデルをトレーニングするためのスクリプト。
  • MetalTranslate – 同じ翻訳エンジンをラップした C++ ラッパー。
  • 多くの言語(Python, Rust, Go, Java)向けの言語モデルバインディングが README に記載されています。

ライセンス – MIT または CC0 のデュアルライセンスで、寛容な商用利用とパブリックドメインへの帰属の両方が可能です。

想定される利用者 – デバイス上での翻訳を必要とする開発者(プライバシーに敏感なアプリ、エッジデバイス、オフラインツール)、OpenNMT モデルを試行する研究者、またはクラウド翻訳サービスの無料かつセルフホスト可能な代替手段を求める人。

関連

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