来源:https://mp.weixin.qq.com/s/tskiYcYQchmEFsSMttIHhQ
平时我们在看各种外文技术文档,或者写代码给变量命名卡壳的时候,第一反应往往是打开 Google 翻译或者 ChatGPT。
虽然它们的翻译质量确实不错,但每次复制粘贴,都意味着我们把数据发送到了云端。
如果只是查个单词倒还没什么。
但要是涉及到公司的机密文档、合同,或者是个人的一些隐私聊天记录,心里总归是有点犯嘀咕。
更别提有时候我们在高铁、飞机上,或者处于公司内网这种网络受限的环境,这些在线工具直接就“罢工”了。
直到最近,我在 GitHub 上找到了一个叫 Argos Translate 的开源项目,刚好解决了这个痛点。
今天就跟大家好好聊聊这个项目。
简单来说,这是一个完全离线的翻译库,它是基于 OpenNMT(一个开源的神经机器翻译框架)构建的。
它最大的特点就是“稳”。
所有的翻译模型都是以压缩包的形式下载到我们本地的。
这意味着一旦配置好,哪怕把网线拔了,它照样能跑。
所有的数据处理都在我们自己的电脑上完成,根本不用担心数据会悄悄传到某台不知名的服务器上。
除了核心的 Python 库之外,开发者还非常贴心地提供了命令行工具(CLI)和图形界面(GUI)。
不管我们是想在代码里集成翻译功能,还是想把它当成一个普通的桌面软件来用,它都能满足。
值得一提的是,那个很有名的开源翻译 API 项目 LibreTranslate,底层用的其实就是 Argos Translate。
在使用过程中,我发现它有一个非常聪明的功能,叫做“中间语言跳板”(Pivoting)。
咱们平时用的很多离线包,通常都是“英语-西班牙语”或者“英语-法语”这种单向对应的。
如果我们想把“西班牙语”直接翻译成“法语”,在没有安装直接对应模型的情况下,很多工具就傻眼了。
但 Argos Translate 会自动以英语作为中间桥梁。
它会先把西班牙语翻成英语,再从英语翻成法语。
虽然这样可能会稍微损失一点精准度,但它极大地方便了各种语言之间互译。
目前支持的语言非常多,包括中文、英语、日语、俄语、法语等主流的语言。
安装起来也挺简单的,因为它底层是 Python 写的,我们可以用 pip 进行安装。
如果我们习惯在命令行中使用,只需要运行下面这条命令即可:
pip install argostranslate另外,它也有提供可视化界面,可以通过下面命令安装它的 Web 版本:
pip install argostranslategui目前没有开箱即用的安装包,只能通过上面的命令进行安装,文档上有提供详细教程。
值得一说,开发者还单独提供了一个叫 argospm 的翻译包管理工具。
我们可以用它来更新索引和安装特定的语言对,比如“英语到德语”:
argospm updateargospm install translate-en_de
当然,既然是跑在本地的深度学习模型,对性能肯定是有一定要求的。
建议大家配置一下 CUDA 环境,通过利用 GPU 进行加速,翻译速度会更加快一点。
如果是纯 CPU 运行,在处理长文档时可能需要花多点时间,需要耐心等待一下。
总的来说,Argos Translate 没有像巨头那样拥有亿级参数的超级模型。
但在隐私保护和离线可用性这两个维度上,为我们提供了可靠的选项。
非常适合想要在内部网络搭建翻译服务,或者对数据安全有极高要求的团队。
GitHub 项目地址:https://github.com/argosopentech/argos-translate
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!