
LibreTranslate部署指南翻译模型10分钟装完【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslateLibreTranslate翻译模型下载是部署这个开源翻译API时最拖时间的环节。全量模型十几GB容器没做持久化还会在每次重建时重新下。这篇文章是踩了三次坑之后总结出来的最短路径先拆清楚慢在哪再按轻、中、重三档对症加速最后把模型固定下来让部署变成一次性的事。翻车现场去年给一台100M带宽的服务器部署直接跑了全量安装进度条泡了一个多小时还卡死在最后一个语言包上。更糟的是第二天容器重启模型目录跟着丢了一切从头再来。当时拿到的是这个仓库的克隆装完依赖就直奔安装脚本git clone https://gitcode.com/GitHub_Trending/li/LibreTranslate python scripts/install_models.py这条命令不带任何参数等于把支持的全部语言模型都拉一遍。问题不在命令本身在于没人告诉我它默认是全都要。先诊断慢在哪再决定动哪里把部署慢拆开看其实是三笔账各对应一个解法。第一笔是下载体积。全量模型十几GB单是中英两个方向就在1GB以内只装需要的语言对能砍掉绝大部分流量。第二笔是下载路径。模型来自两个海外源Argos官方CDN语言模型和Hugging FaceMiniSBD语言检测模型直连速度看运气。第三笔是模型留存。Docker场景下模型放在用户家目录里容器一重建就清零之前下的全部白费。下面三档加速每档一句话定性轻档是不用下就别下中档是让下载走近路重档是让下好的东西永远留着。轻档只装你要的两种语言scripts/install_models.py 的--load_only_lang_codes参数是这里的主角它让脚本只拉取语言代码对两端都在你列表里的模型其余一概跳过。下面这条命令只下载中英文双向模型磁盘占用从十几GB降到1GB以内python scripts/install_models.py --load_only_lang_codes en,zh已有部分模型、只想升级到新版时加--update已安装的包只会在版本落后时重新拉取python scripts/install_models.py --update --load_only_lang_codes en,zh 注意代码不在支持列表里会直接报 Unavailable language codes 并中止填之前可以先启动服务后查/languages接口核对。中档换源让下载走近路两条下载链路里Hugging Face 那段MiniSBD检测模型支持用HF_ENDPOINT环境变量指向国内镜像站改一个环境变量就行不用动任何代码。下面两行先临时把 HF 请求指向国内镜像再跑安装当前终端内生效export HF_ENDPOINThttps://hf-mirror.com python scripts/install_models.py --load_only_lang_codes en,zhArgos官方CDN没有官方镜像能走代理的企业环境直接配HTTP_PROXY/HTTPS_PROXY即可两者都够不着时最后的兜底是找一台网络好的机器提前下好模型整个模型目录拷到目标机器再启动服务——模型目录是自包含的搬走照样能用。重档Docker 里让模型不丢容器场景的教训就一条模型必须挂在容器生命周期之外否则重装依赖都会变成重新下载。镜像里模型存放在/home/libretranslate/.local项目自带的 docker-compose.yml 里其实已经写好了对应的卷挂载只是默认注释掉了。把libretranslate_models这一行加进你的 compose 文件即可volumes: - libretranslate_models:/home/libretranslate/.local:rw volumes: libretranslate_models:这段配置把模型目录挂到命名卷上容器重建、镜像升级都不影响已下载的模型。另外官方 Dockerfile 提供with_models和models两个构建参数可以在构建阶段就把指定语言的模型打进镜像适合镜像一次构建、到处复用的多机部署。排障现象、操作、预期现象操作预期结果进度停在 Updating language models 不动配置HF_ENDPOINT或代理后重跑检测模型阶段恢复下载整体耗时明显下降报 Unavailable language codes换成/languages接口返回的合法代码正常开始下载下载中断、网络波动直接重跑同一条命令已安装的包自动跳过只补缺失部分目录权限报错、磁盘满检查模型目录可写df -h看剩余空间权限错误消失空间不足时先扩盘或减少语言数⚠️ 排障时想看实时下载量和磁盘增长开个终端跑这条就够了比翻日志直观watch -n 5 du -sh ~/.local ~/.cache 2/dev/null30 秒自检服务起来之后用这条命令确认实际加载的语言数量是否符合预期数字对得上就算部署成功curl -s localhost:5000/languages | python -c import sys,json; print(len(json.load(sys.stdin)))收尾前过一遍这份清单下次部署就不会再回头用--load_only_lang_codes只装了必要的语言HF_ENDPOINT或代理已配置下载走了近路Docker 模型目录已挂卷持久化启动参数的--load-only与已安装模型范围一致计划磁盘空间够容纳下一轮--update【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考