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 模型的研究人员,或者任何想要免费、自托管的云翻译服务替代方案的人。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目