基于Firefox模型的私有翻译服务MTranServer
本文题图背景由 AI 生成;
简介
什么是 MTranServer ?
MTranServer
是一个低资源消耗、快速且可私有部署的翻译服务器,旨在提供与1G
内存即可运行,无需显卡。单个请求平均响应时间50ms
。支持全世界主要语言的翻译。
主要特点
- 低资源占用:仅需
1GB
内存即可运行,无需图形处理单元(GPU
),适合在资源有限的环境中部署。 - 快速响应:单个请求的平均响应时间为
50
毫秒,支持高并发处理,适合需要快速翻译的应用场景。 - 多语言支持:支持多种主要语言的翻译,翻译质量与
Google
翻译相当。 - 私有部署:用户可以在自己的服务器上部署
MTranServer
,确保数据的隐私性和安全性。 - 使用方便:提供
Docker
部署方式,使得安装和配置变得简单。 - 适配性:当前版本主要支持
AMD64
架构的CPU
,并正在适配其他架构。 - 性能测试:与其他翻译解决方案相比,
MTranServer
在速度和内存占用方面表现良好。
应用场景
- Web 应用: 为
Web
应用提供机器翻译功能。 - 移动应用: 为移动应用提供机器翻译功能。
- 聊天机器人: 为聊天机器人提供机器翻译功能。
- 内容本地化: 用于内容本地化,将内容翻译成不同的语言。
- API 服务: 作为一个独立的
API
服务提供机器翻译功能。
当前限制
- 目前仅支持
amd64
架构CPU
的Docker
部署。 - 需要
CPU
支持AVX2
指令集, 其他CPU
的兼容版本等作者测试完成发布。
总的来说,MTranServer
是一个适合需要快速、低资源消耗的翻译服务的解决方案,尤其对于希望在私有环境中保护数据的用户。
准备
建文件夹
在 docker
文件夹中,创建一个新文件夹 mtranserver
,并在其中建一个子文件夹 models
下载模型
【注意】:需要先下载翻译模型文件再启动镜像,否则容器会因为找不到模型文件而自动终止;
- 模型国内下载地址: https://ocn4e4onws23.feishu.cn/drive/folder/C3kffkLr8lxdtid5GYicAcFAnTh
- 模型国外下载地址: https://github.com/xxnuo/MTranServer/releases/tag/models
根据需要下载模型文件
例如: enzh.zip
:表示是英文翻译成中文的模型
将 zip
文件上传到 models
文件夹后解压
文件夹结构示意图
1 | models/ |
如果没有下载模型,直接启动镜像,会遇到下面的错误
1 | mtranserver | Fatal error: No valid translation models found in directory: /app/./models |
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 mtranserver
,选择第一个 xxnuo/mtranserver
,版本选择 latest
。
本文写作时,
latest
版本对应为1.0.4
;
卷
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/mtranserver/models |
/app/models |
存放模型文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
8989 |
8989 |
环境
可变 | 值 |
---|---|
CORE_API_TOKEN |
为你自己设置的一个密码,使用英文大小写和数字。自己内网可以不设置 |
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 mtranserver 和 子目录 |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
1 | services: |
然后执行下面的命令
1 | # 新建文件夹 mtranserver 和 子目录 |
运行
不能像往常那样,在浏览器中输入 http://群晖IP:8989
进行访问,因为这不是一个 web
服务,而是个 api
接口服务,需要搭配翻译插件使用
你可以使用 沉浸式翻译 或者 简约翻译
设置
下面以
沉浸式翻译
的chrome
插件为例
在设置
页面,开发者模式
中启用 Beta
测试特性
在 翻译服务
的最后,能找到 自定义 API
进入设置
API URL
: 指向我们前面安装的mtranserver
容器的地址http://192.168.0.197:8989/imme?token=123456
。如果前面没用设置密码,使用http://192.168.0.197:8989/imme
;每秒最大请求数
: 老苏设了5000
;每次请求最大段落数
:老苏设了10
;
回到基本设置,修改 翻译服务
为 自定义API
或者在使用时动态切换
使用
打开一篇英文的文档
点右侧的 沉浸式翻译
的图标
翻译速度超快,同时显示双语
看下容器的资源占用情况
参考文档
xxnuo/MTranServer: Low-resource, fast, and privately self-host free version of Google Translate - 低占用速度快可私有部署的自由版 Google 翻译
地址:https://github.com/xxnuo/MTranServerMTranServer
地址:https://mtranserver.2020818.xyz/