Libretranslate 搭建教程
嗨 👋 今天是植树节,大家有没有种树。在这个特别的日子里,尽管我们的脚步无法踏足田野,亲手种下一棵绿树,但我们可以在知识的土壤中埋下一颗技术的种子。今天,我们将探讨一个开源项目——LibreTranslate,它是一个自由、开源的翻译服务工具,可以帮助我们搭建属于自己的本地化翻译服务。
接下来,让我们一起学习如何安装和使用 LibreTranslate,为我们的技术森林增添一抹绿色。
希望这篇开篇能为大家带来灵感!🌱
官方文档:Introduction | Libretranslate(libretranslate.org)
Libretranslate是什么?
LibreTranslate 是一个自由、开源的翻译服务工具,它可以帮助我们搭建属于自己的本地化翻译服务。它支持多种语言,并且可以通过 API 进行调用。
搭建环境
官方建议 python 3.8 以上的版本运行。现已 ubuntu 安装python 3.8 版本为列子
1.首先更新包列表:
sudo apt update
2.安装依赖:
sudo apt install software-properties-common
3.添加 deadsnakes PPA 源(包含多个 Python 版本):
sudo add-apt-repository ppa:deadsnakes/ppa
4.再次更新包列表:
sudo apt update
5.安装 Python 3.8:
sudo apt install python3.8
# 查看版本
python3.8 --version
# 将 Python 3.8 设为默认版本:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
6.安装 pip:
下载 get-pip.py 脚本:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
安装 python3.8-distutils:
sudo apt install python3.8-distutils
使用 Python 3.8 运行这个脚本:
python3.8 get-pip.py
验证安装:
python3.8 -m pip --version
安装
LibreTranslate。LibreTranslate 是一个免费的开源机器翻译 API。有几种安装方式,我建议使用 Docker 安装,这样最简单且不会影响系统环境:
- 首先确保已安装 Docker,如果没有安装可以运行:
brew install docker
2.拉取并运行 LibreTranslate 容器:
docker run -it -p 5000:5000 libretranslate/libretranslate
这样 LibreTranslate 服务就会在本地的 5000 端口运行。
如果你想通过 pip 安装命令行工具,可以:
pip install libretranslate
# 安装最新版
pip install -U libretranslate
安装完成后,你可以通过以下方式测试是否安装成功
# 启动并加载所有语言
libretranslate
# 更新模型
libretranslate --update-models
# 或者指定特定语言
libretranslate --host 0.0.0.0 --load-only en,zh,vi,ja,ko
ps: 如果你想指定目录安装
mkdir -p /data/translation-services/lib/python3.8/site-packages
pip install --prefix=/data/translation-services -U libretranslate
export PYTHONPATH=/data/translation-services/lib/python3.8/site-packages:$PYTHONPATH
echo 'export PYTHONPATH=/data/translation-services/lib/python3.8/site-packages:$PYTHONPATH' >> ~/.bashrc
source ~/.bashrc
# 首先找到 libretranslate 的安装位置:
find /data/translation-services -name "libretranslate"
# 创建软链接到系统路径:
sudo ln -s /data/translation-services/bin/libretranslate /usr/local/bin/libretranslate
# 如果上面的方法不行,可以直接用 Python 模块方式运行:
python3.8 -m libretranslate --host 0.0.0.0
# 更新模型可以这样:
python3.8 -m libretranslate.download --update-models
#如果还遇到 apt_pkg 错误,需要安装:
sudo apt-get install python3-apt
首次运行会下载预设模型
Updating language models
Found 92 models
ownloading Albanian → English (1.9) ...
Downloading Arabic → English (1.0) ...
Downloading Azerbaijani → English (1.5) ...
Downloading Basque → English (1.9) ...
Downloading Bengali → English (1.9) ...
Downloading Bulgarian → English (1.9) ...
Downloading Catalan → English (1.7) ...
Downloading Chinese (traditional) → English (1.9) ...
Downloading Chinese → English (1.9) ...
Downloading Czech → English (1.9.6) ...
Downloading Danish → English (1.9) ...
Downloading Dutch → English (1.8) ...
Downloading English → Albanian (1.9) ...
Downloading English → Arabic (1.0) ...
...
Loaded support for 46 languages (92 models total)!
Running on http://127.0.0.1:5000
如果你不需要所有语言,可以只下载你需要的语言对(比如只要中英互译)。启动时指定语言:
docker run -it -p 5000:5000 libretranslate/libretranslate --load-only en,zh
测试
curl -X POST "http://localhost:5000/translate" -H "Content-Type: application/json" -d '{"q":"Hello World!","source":"en","target":"zh"}'
外网 怎么访问 5000 端口
libretranslate --host 0.0.0.0
docker run -it -p 0.0.0.0:5000:5000 libretranslate/libretranslate
扩展
后台运行
要让 LibreTranslate 在后台运行,有几种方法:
- 使用 nohup 命令(推荐):
nohup libretranslate --host 0.0.0.0 > libretranslate.log 2>&1 &
这个命令会:
- 在后台运行服务
- 将输出重定向到 libretranslate.log 文件
- 即使终端关闭也会继续运行
- 如果想停止服务,可以:
ps aux | grep libretranslate
找到进程 ID 后:
kill <进程ID>
- 如果想查看日志:
tail -f libretranslate.log