尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

零联网也能翻译:LibreTranslate 内网自建私有翻译服务全记录

零联网也能翻译:LibreTranslate 内网自建私有翻译服务全记录 零联网也能翻译LibreTranslate 内网自建私有翻译服务全记录【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslate你的机器在一台连不上外网的内网里又必须跑一个翻译服务。LibreTranslate 离线部署这件事不难它是自托管的开源翻译引擎模型是落到本地磁盘的文件由 Argos Translate 库在本地完成推理装好之后翻译和服务启动都不碰外网。这篇文章按“先定验收标准、再补齐机器”的顺序推进把体积账、影响离线干净度的配置开关、以及最可能撞上的错误一并讲清。验收先行断网可用的三个检验动手前先记住标准三条全部通过才叫真正可用启动后请求健康端点curl http://localhost:5000/health服务存活即正常返回。给翻译接口发一条真实请求curl -X POST http://localhost:5000/translate \ -H Content-Type: application/x-www-form-urlencoded \ -d qHello%20worldsourceentargetzh返回里应包含translatedText译文和detectedLanguage识别出的源语言两个字段。最关键的一条拔掉网线或关掉 Wi-Fi 再复测一遍上面两个请求依然照常返回。断网后翻译不中断离线闭环才算成立。前提是机器上只装了你实际要用的离线翻译模型且启动全程没有任何外发请求。下面按这个前提补齐机器。无网络安装 LibreTranslate代码、依赖、模型代码与依赖以 Python 3.10 为例若本机无网先在有网机器执行下面的缓存命令再拷贝过来git clone https://gitcode.com/GitHub_Trending/li/LibreTranslate cd LibreTranslate python -m venv venv source venv/bin/activate pip install .venv是 Python 自带的虚拟环境机制把依赖隔离在一个目录里互不干扰。pip install .会按项目的pyproject.toml拉齐全部依赖其中翻译引擎核心是argos-translate-lt1.12.1Web 层是Flask2.2.5。目标机的 pip 完全无网时先在联网机上把依赖下成 wheel 包pip 可直接安装的预编译二进制格式带走pip freeze requirements_offline.txt pip download -r requirements_offline.txt -d dependencies/ --only-binary:all: # 目标机上执行 pip install --no-index --find-links./dependencies/ -r requirements_offline.txt--no-index让 pip 只从本地dependencies/目录找包。跨 Linux 发行版迁移时挑 manylinux 格式的 wheel多数发行版通用目标是 Windows 则把平台参数换成--platform win_amd64。离线翻译模型只下需要的模型才是离线包的大头。在有网机器上执行python scripts/install_models.py --load_only_lang_codes en,zhscripts/install_models.py 接受 ISO 639-1 双字母码一套语言编码标准en 代表英语、zh 代表中文逗号分隔只装用得到的两个最省空间。模型会写入~/.local/share/argos-translate/packagesWindows 在AppData\Roaming\argos-translate\packages里面是成对的.argosmodel模型文件加元数据。体积账全量语言约 4GB只留 en 和 zh 压到 600MB 上下基本是下限因为体量由模型文件本身决定pip 依赖那部分的总和要小得多。启动与确认回到内网机器python main.py --host 127.0.0.1 --port 5000启动日志出现Loaded support for 2 languages说明两个模型已载入内存。另有一行提示Cannot update models (normal if youre offline)它来自libretranslate/init.py里boot()的模型检查逻辑启动时尝试刷新一次模型索引失败就打印这句话然后继续——离线时这是预期行为别当故障处理。决定离线是否干净的三个配置开关LibreTranslate 的配置项全部支持用LT_前缀的环境变量覆盖默认值集中在 libretranslate/default_values.py。离线场景重点核对三处配置项默认值为什么这样设才算离线干净UPDATE_MODELSFalse启动时不会尝试更新模型索引开机零外发请求SHARED_STORAGEmemory://限流计数存在进程内存里不依赖外部 RedisAPI_KEYS_REMOTE空API 密钥校验不指向任何外部接口三项都维持默认服务就完全自给自足启动逻辑会吞掉联网异常离线重启也不会因此挂掉。部署形态三选一本地、Docker 或便携按目标机的处境挑一种本地直跑——最省事适合开发调试和验收。模型装好后把--load-only en,zh启动参数和磁盘里的模型对上即可代码不一致模型不会加载。Docker——镜像自带模型适合生产。docker/Dockerfile 里有两个构建参数docker build --build-arg with_modelstrue --build-arg modelsen,zh,fr -f docker/Dockerfile .with_modelstrue让构建阶段就装好模型运行期零联网。便携版——前两者的打包形态。把源码、venv、模型和依赖缓存整体拷到 U 盘目标机连 Python 都没有的话再带一份 Portable Python。需要刷新模型时联网机执行python scripts/install_models.py --load_only_lang_codes en,zh --update再把~/.local/share/argos-translate/packages目录压缩成更新包带走替换。版本号建议用主.次.修订三段式方便区分模型变更和小的修复。常见报错速查现象先查哪里Model not found--load-only/--load_only_lang_codes传的短码与已装模型是否一致模型目录是否可读翻译响应慢--threads默认 4按实际 CPU 核数调整生产环境顺手关掉--debug装包报错或依赖冲突别混用在线 pip 与离线缓存统一走--no-index加本地 wheel一句话收束先定验收标准再依次补齐依赖、模型与三个开关最后按处境选形态即可。流程跑通后有两个方向值得跟进能把模型文件继续压小的模型压缩技术以及不依赖服务端、直接跑在浏览器里的引擎形态。【免费下载链接】LibreTranslateFree and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.项目地址: https://gitcode.com/GitHub_Trending/li/LibreTranslate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表