argosopentech/argos-translate

Open-source offline translation library written in Python

Argos Translate – 離線機器翻譯庫

功能簡介 – 一個允許你在本地執行神經機器翻譯模型而無需網際網路連接的 Python 套件。它封裝了 OpenNMT / CTranslate2 推理引擎,並提供簡單的 API、命令列工具以及(透過單獨的儲存庫)桌面 GUI。

核心能力

  • 外掛式語言模型 – 翻譯模型以 ".argosmodel" zip 檔案形式分發。argospm-index 儲存庫列出了數十個預訓練模型(阿拉伯語、中文、法語、斯瓦希里語……),套件管理員 (argospm) 可以下載並安裝它們。
  • 樞軸翻譯 (Pivot translation) – 如果缺少特定語言對的直接模型,Argos Translate 可以使用你已安裝的模型,透過中間語言自動路由文本(例如:es → en → fr)。
  • GPU 支援 – 設定環境變數 ARGOS_DEVICE_TYPE=cuda(或 auto)即可將裝置選擇傳遞給底層的 CTranslate2 引擎,從而啟用 CUDA 加速。
  • 多種前端
    • Python 函式庫 (argostranslate.translate.translate)
    • CLI (argos-translateargospm 命令)
    • 桌面 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 – 一個公開的 Web API 和演示網站,其底層執行著 Argos Translate。
  • argos‑train – 用於訓練與 Argos Translate 相容的自有模型的腳本。
  • MetalTranslate – 對同一翻譯引擎的 C++ 封裝。
  • 許多語言(Python, Rust, Go, Java)的語言模型綁定列在 README 中。

授權 – 採用 MIT 或 CC0 雙重授權,允許寬鬆的商業用途和公有領域奉獻。

適用對象 – 需要裝置端翻譯的開發者(隱私敏感型應用、邊緣裝置、離線工具)、正在嘗試 OpenNMT 模型的研究人員,或任何想要免費、自行託管的雲端翻譯服務替代方案的人。

相關

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