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 エンドポイントを公開しています。
- Pythonライブラリ (
- 拡張機能 – 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 モデルを試行する研究者、またはクラウド翻訳サービスの無料かつセルフホスト可能な代替手段を求める人。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト