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-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 – 一个公开的 Web API 和演示网站,其底层运行着 Argos Translate。
- argos‑train – 用于训练与 Argos Translate 兼容的自有模型的脚本。
- MetalTranslate – 对同一翻译引擎的 C++ 封装。
- 许多语言(Python, Rust, Go, Java)的语言模型绑定列在 README 中。
许可证 – 采用 MIT 或 CC0 双重许可,允许宽松的商业用途和公有领域奉献。
适用人群 – 需要设备端翻译的开发者(隐私敏感型应用、边缘设备、离线工具)、正在尝试 OpenNMT 模型的研究人员,或者任何想要免费、自托管的云翻译服务替代方案的人。
相关
- 项目
- 项目
- 项目
- 项目
- 项目