赞
踩
LibreTranslate
是一个免费且开源的机器翻译API,完全自托管,易于设置。与其他API不同,它不依赖于像Google或Azure这样的专有提供商来执行翻译。相反,它的翻译引擎由开源Argos Translate库提供支持。
本文将引导读者通过在腾讯云Lighthouse服务器部署LibreTranslate,实现自主可控的翻译服务,且同时支持翻译文本和文件(.txt, .odt, .odp, .docx, .pptx, .epub, .html)。
Lighthouse是腾讯云推出的一款轻量应用服务器产品,它提供了高性价比、高可用性、高安全性和高灵活性的云端计算服务。具体信息参阅官方文档:轻量应用服务器概述。
为了部署LibreTranslate服务,我们需要购买一台境外轻量应用服务器,并配置好相关的环境和依赖。购买步骤参见官方文档:使用轻量应用服务器一键创建应用,地域选择新加坡
,应用类型选择k3s
。
初次部署服务时,需下载大量的翻译模型,经gz压缩后约6Gb。由于网络问题,使用境内服务器部署很可能失败(解决办法见文末)。
文件路径 /srv/translate.yml
,请注意修改配置文件中的域名 fanyi.rehiy.com
。
kind: Deployment apiVersion: apps/v1 metadata: name: &name translate labels: app: *name spec: selector: matchLabels: app: *name template: metadata: labels: app: *name spec: containers: - name: translate image: libretranslate/libretranslate env: - name: LT_REQ_LIMIT value: "30" - name: LT_THREADS value: "4" ports: - containerPort: 5000 volumeMounts: - name: *name subPath: home mountPath: /home/libretranslate volumes: - name: *name hostPath: path: /srv/translate type: DirectoryOrCreate --- kind: Service apiVersion: v1 metadata: name: &name translate labels: app: *name spec: selector: app: *name ports: - name: http port: 5000 targetPort: 5000 --- kind: Ingress apiVersion: networking.k8s.io/v1 metadata: name: &name translate annotations: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - host: fanyi.rehiy.com http: paths: - path: / pathType: Prefix backend: service: name: *name port: name: http
为防止被恶意利用,配置中将
LT_REQ_LIMIT
设定为30,读者可以根据自己的情况调整。也可以启用TOKEN建立需要授权的服务,参阅官方文档 Manage API Keys
通过ssh登录服务器,执行以下命令,部署LibreTranslate服务。初次部署需下载大量模型,请耐心等待配置完成。
kubectl apply -f /srv/translate.yml
作者部署的服务器已关闭外部访问能力,请务必使用自己部署的域名进行测试。
const res = await fetch("http://fanyi.rehiy.com/translate", {
method: "POST",
body: JSON.stringify({
q: "Hello!",
source: "en",
target: "zh"
}),
headers: {"Content-Type": "application/json"}
});
console.log(await res.json());
解决的办法有很多(比如去官网手动下载每个模型),这里提供一种简单且合规的方法:
在境外部署完成后,将/srv/translate
目录同步到国内服务器上。这样在国内部署时就不再需要下载翻译模型,从而避开网络慢导致的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。