使用Docker架设私有翻译服务

发布时间 2023-05-28 15:45:27作者: Isakovsky

作为英语不怎么样的学术民工,高效的机翻软件是必备的.网页翻译,划词翻译等日常使用的工具对于学术阅读而言肯定是不够的,我需要快速地将整篇文献甚至整本专著翻译过来,再浏览判断有无阅读价值.但常用的翻译API服务,如百度,讯飞,Azure,Yandex,Google等,纷纷因为业务下线,不再允许白嫖,被墙等原因阵亡,因此我急需一个能完成大段文本翻译的,支持API以便于使用代码访问的,同时全部流程可以部署在本地的翻译服务.

终于功夫不负有心人,最近接触到了LiberTranslate,基本满足了我的所有需求.

官网地址:https://libretranslate.com/

进行本文的操作前,需要架设一台连接了主机网络的Ubuntu虚拟机并安装Docker,请参考教程:https://www.cnblogs.com/isakovsky/p/16732779.html

建议为虚拟机分配足够的硬盘空间,如果之前已经完成了前一步,但空间不够了,请参考如下教程以扩容空间:https://www.cnblogs.com/isakovsky/p/17437553.html

Docker镜像:https://hub.docker.com/r/libretranslate/libretranslate

拉取Docker镜像:docker pull libretranslate/libretranslate

然后运行容器: docker run -ti --rm -p 14514:5000 libretranslate/libretranslate --load-only zh,en

注意,LiberTranslate的默认端口是5000,为了防止冲突,建议映射到其他端口,比如我就将Docker的5000端口映射到了14514端口

创建镜像时会拉取语言模型,每个模型的体积都很大,下载还很慢,最后一个参数 --load-only zh,en 是只拉取中英文的翻译模型,如果需要,也可以添加de,es,fr,ru等语言包

然后会下载语言包,等待一段时间

做好至少下载一个小时的准备吧.

然后在主机上访问虚拟机的Host连接地址:翻译服务映射的端口

出现此界面,则说明Docker服务安装完成.