什么是 LibreTranslate ?
LibreTranslate
免費(fèi)開源機(jī)器翻譯API
,完全自托管。與其他API
不同,它不依賴于Azure
等專有提供商來執(zhí)行翻譯。它的翻譯引擎由開源Argos Translate
庫提供支持。
這個(gè)軟件在 2022
年 3
月的時(shí)候折騰過,但當(dāng)時(shí)容器會(huì)停止,從下面的文章看,應(yīng)該可能是內(nèi)存不夠。
https://www.reddit.com/r/selfhosted/comments/yrdeyc/libretranslate_free_and_open_source_machine
畢竟翻譯模型和語言模型都是很耗資源的,當(dāng)然除了內(nèi)存,最好還有 GPU
的支持。
今年 618
買了根內(nèi)存條,所以又把它翻出來了,雖然才 8G
,但確實(shí)跑起來了,也有可能是老蘇選擇的語言模型少的緣故。
文中部分截圖還是使用的老圖,但不會(huì)影響您的理解;
如果你不想自己搭建,可以去官方搭建的站點(diǎn)看看,網(wǎng)址:https://libretranslate.com
安裝
在群暉上以 Docker 方式安裝。
在注冊(cè)表中搜索 libretranslate
,選擇第一個(gè) libretranslate/libretranslate
,版本選擇 latest
。
- 本次折騰,
latest
對(duì)應(yīng)的版本是v1.3.11
;- 如果你的主機(jī)帶
nvidia
顯卡,可以選擇latest-cuda
試試;
端口
本地端口不沖突就行,不確定的話可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口號(hào)
本地端口 | 容器端口 |
---|---|
5353 |
5000 |
環(huán)境
LibreTranslate
有很多命令行參數(shù),可以參考官方的文檔:https://github.com/LibreTranslate/LibreTranslate#arguments
【注意】:每個(gè)參數(shù)都有一個(gè)可以替代使用的等效環(huán)境變量。環(huán)境。變量會(huì)覆蓋默認(rèn)值,但優(yōu)先級(jí)低于命令參數(shù),并且在與
Docker
一起使用時(shí)特別有用。環(huán)境變量名稱是等效命令參數(shù)名稱的大寫字母,帶有LT
前綴。
老蘇沒有使用環(huán)境變量,而是在命令行中輸入了 --load-only en,zh
,意思是只加載中文和英文。如果要使用環(huán)境變量,可以用 LT_LOAD_ONLY
命令行運(yùn)行
命令行方式中,老蘇對(duì)容器的最大內(nèi)存使用量和
CPU
占用做了限制;當(dāng)然機(jī)器夠強(qiáng)的話,可以不做限制的;
docker cli 安裝
如果你熟悉命令行,可能用 docker cli
更快捷
# 運(yùn)行容器(低調(diào)內(nèi)斂模式)
docker run -d \
--restart unless-stopped \
--name libretranslate \
--cpu-shares="700" \
--memory 4096m \
-p 5353:5000 \
libretranslate/libretranslate \
--load-only en,zh
# 運(yùn)行容器(火力全開模式)
docker run -d \
--restart unless-stopped \
--name libretranslate \
-p 5353:5000 \
libretranslate/libretranslate \
--load-only en,zh
參數(shù)說明:
-
--cpus-shares="700"
:為容器提供更少比例的CPU
周期,默認(rèn)為1024
; -
--memory 4096m
;為容器的內(nèi)存使用設(shè)置一個(gè)無法超越的硬限制;
從上圖可以看到,第一次運(yùn)行時(shí),會(huì)下載我們?cè)O(shè)定的語言模型
docker-compose 安裝
不推薦這種方式安裝,會(huì)看不到容器的日志,原因不明;這會(huì)導(dǎo)致你不知道語言模型是否下載成功,因而不知道什么時(shí)候才能正常訪問
也可以用 docker-compose
安裝,將下面的內(nèi)容保存為 docker-compose.yml
文件
version: '3'
services:
libretranslate:
image: libretranslate/libretranslate
container_name: libretranslate
restart: unless-stopped
# mem_limit: 4096m
# cpu_shares: 700
ports:
- 5353:5000
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
command: --load-only en,zh
如果你想啟用資源限制,可以去掉
#
號(hào)的注釋;
然后執(zhí)行下面的命令
# 新建文件夾 libretranslate
mkdir -p /volume1/docker/libretranslate
# 進(jìn)入 libretranslate 目錄
cd /volume1/docker/libretranslate
# 將 docker-compose.yml 放入當(dāng)前目錄
# 一鍵啟動(dòng)
docker-compose up -d
運(yùn)行
第一次運(yùn)行會(huì)需要下載語言模型
當(dāng)你在日志中看到 Running on http://0.0.0.0:5000
時(shí),就可以在瀏覽器中輸入 http://群暉IP:5353
,并看到主界面了
復(fù)制了下面這段英文,試了下 英翻中
Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.
又用下面這段中文,試了下 中翻英
Plane 是一個(gè)簡單的、可擴(kuò)展的、開源的項(xiàng)目和產(chǎn)品管理工具。
LibreTranslate
翻譯的
Plane is a simple, expanded, open-source project and product management tool
百度翻譯的
Plane is a simple, scalable, open-source project and product management tool.
似乎看起來效果還可以對(duì)吧,此外還支持翻譯文件,格式也比較豐富
至于 API
一般人也用不上,就不提了
參考文檔
LibreTranslate/LibreTranslate: Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.
地址:https://github.com/LibreTranslate/LibreTranslate文章來源:http://www.zghlxwxcb.cn/news/detail-736063.html
Docker Container Memory & CPU Limit: Set Up and Manage Resources
地址:https://phoenixnap.com/kb/docker-memory-and-cpu-limit文章來源地址http://www.zghlxwxcb.cn/news/detail-736063.html
到了這里,關(guān)于免費(fèi)和開源的機(jī)器翻譯軟件LibreTranslate的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!