
LibreTranslate 离线翻译 API 部署教程最小 3 步跑通自托管机器翻译【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslateLibreTranslate 是一个可完全离线的自托管机器翻译 API。它面向需要在内网、断网环境跑中英互译的开发者靠 Argos Translate 离线语言模型工作全程不碰第三方接口。按本文操作约 3 步、600MB 模型即可装出可用服务。先看效果跑通后你会得到一个监听127.0.0.1:5000的翻译服务模型只装中文、英文两个方向时磁盘占用约 600MB全量约 4GB翻译请求走本机 Argos 模型推理翻译过程零外部网络。服务默认 4 线程--threads短文本通常毫秒到秒级返回。最小安装清单以下以 Linux/macOS 的 Python 3.10 为例。拉源码并装依赖。pip install .会按 pyproject.toml 锁定的版本拉齐全部依赖核心是argos-translate-lt1.12.1Web 层是Flask2.2.5。git clone https://gitcode.com/GitHub_Trending/li/LibreTranslate cd LibreTranslate python -m venv venv source venv/bin/activate pip install .判断成功pip 输出Successfully installed libretranslate-...且依赖列表里能看到argos-translate-lt和flask。只装需要的语言模型。脚本见 scripts/install_models.py语言码用 ISO 639-1 短码逗号分隔。python scripts/install_models.py --load_only_lang_codes en,zh判断成功先看到Found ... models最后输出Loaded support for 2 languages。模型落在~/.local/share/argos-translate/packagesWindows 在AppData\Roaming\argos-translate\packages是成对的.argosmodel文件。启动服务。非 debug 模式走 waitress 生产服务器。python main.py --host 127.0.0.1 --port 5000判断成功日志出现Running on http://127.0.0.1:5000随后浏览器访问该地址能看到 Web 界面。注意启动时若看到Cannot update models (normal if youre offline)这是 init.py 里boot()吞掉联网异常后的提示——意思是跳过模型索引刷新离线环境下属正常现象不是错误。部署形态选型仓库自带 Dockerfile、Compose 和 K8s 清单四种形态对比形态适用场景一句话特点本地直跑开发、测试、内网单机python main.py一条命令起服务改参数即重启Docker 构建生产环境docker/Dockerfile 支持with_models/models两个构建参数构建期装好模型运行时零联网Docker Compose带健康检查的单机部署docker-compose.yml 内置/health探活10 秒一次K8s集群多副本仓库根目录k8s.yaml可直接 apply适合已有 K8s 平台的团队结论只在内网单台机器用选本地直跑要长期稳定对外提供服务选 Docker 并指定models参数只装目标语言。裁剪与调优所有运行时配置都支持LT_前缀环境变量默认值集中在 libretranslate/default_values.py。语言选型省最多。默认全量安装约 4GB--load_only_lang_codes en,zh压到 600MB 上下。底线是一对模型起步每多一种语言约增加 300MB 左右无法再压——这是模型本身体积决定的。依赖离线缓存保证零联网。在有网机器上执行pip download -r requirements.txt -d dependencies/ --only-binary:all:目标机用pip install --no-index --find-links./dependencies/安装。省不了磁盘但杜绝运行期偷偷联网拉包。运行时开关省内存、防误连。UPDATE_MODELS默认False不自动更新模型SHARED_STORAGE默认memory://限流计数走内存不依赖 Redis纯 API 场景加--disable-web-ui关掉前端。另外--threads默认 4按 CPU 核数调整即可别盲目拉满。上线前自检验收分两步离线场景再补断网重测# 1. 健康检查期望 HTTP 200 curl http://localhost:5000/health # 2. 调翻译接口期望返回含 translatedText 的 JSON curl -X POST http://localhost:5000/translate \ -d qHello worldsourceentargetzh判断成功/health返回 200/translate返回{translatedText:你好世界, ...,detectedLanguage:{...}}。离线通过标准拔掉网线或断掉外网出口后重复上面两条命令均正常响应、日志无新报错即离线闭环成立。排障速查Unavailable language codes→ 传入的短码不在已装模型范围内或拼写不是 ISO 639-1 短码 → 核对--load_only_lang_codes与packages目录里实际已装的模型码重新执行安装脚本。端口冲突 / 起不来→ 默认LT_PORT是 5000被占用即失败 → 加--port 5001或设LT_PORT换个端口。翻译明显偏慢→ 默认 4 线程没吃满 CPU或误开了--debug走了开发服务器 → 按核数调大--threads生产环境去掉--debug。三行命令装完断网也能翻。后续可关注模型量化进一步压体积的方向。【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考