为了实现内网环境下使用翻译工具需求,本文搭建了Docker环境下的LibreTranslate
具体思路是:借助有网环境构建Docker容器镜像,导入内网环境服务器中,恢复容器并运行,实现无外网访问。
如果内网环境无Docker或完全无法上传压缩包,请忽略本文!
LibreTranslate官方说明
免费和开源机器翻译API,完全自托管。与其他api不同,它不依赖于谷歌或Azure等专有提供商来执行翻译。相反,它的翻译引擎由开源的Argos Translate库提供支持。 在线试用
GitHub
https://github.com/LibreTranslate/LibreTranslate
ps:也可下载笔者压缩好的mylibretranslate.tar文件,直接跳转到第四步使用
百度网盘
链接:https://pan.baidu.com/s/1h0LrLJu7WcFgPq-3qGFUgw
提取码:awbe
一、在有网环境的服务器或虚拟机下启动LibreTranslate容器(需有Docker)
docker run -d\--restart unless-stopped \--name libretranslate \-p5000:5000 \
libretranslate/libretranslate \
--load-only en,zh
–load-only en,zh 是指加载中文和英文模型,可根据需要更改
二、把容器构建为镜像
docker commit -m"libretranslate/mylibretranslate"-a"mylibretranslate" 容器id libretranslate/mylibretranslate:latest
容器id替换为刚刚运行的容器
三、保存镜像到指定服务器目录
docker save -o /data/mylibretranslate.tar libretranslate/mylibretranslate
四、把刚刚压缩好的mylibretranslate.tar文件,传输到内网环境服务器,执行加载镜像命令
docker load < mylibretranslate.tar
五、此时可以使用构建好的镜像运行容器,使用自己的LibreTranslate服务了
docker run -d\--restart unless-stopped \--name libretranslate \-p5000:5000 \
libretranslate/mylibretranslate
访问地址:
http://服务器ip:5000
接口:
curl--location--request POST 'http://服务器ip:5000/translate'\--header'Content-Type: application/json'\
--data-raw '{
"q": "翻译文本",
"source": "auto",
"target": "en",
"format": "text",
"alternatives": 3,
"api_key": ""
}'
响应格式:
{"alternatives":["Translation of texts",
"Translation of Text",
"Translation"],
"detectedLanguage":{"confidence":90,
"language":"zh"},
"translatedText":"Translation of text"}
版权归原作者 好 不 热闹 所有, 如有侵权,请联系我们删除。