免费和开源的机器翻译软件LibreTranslate

在这里插入图片描述

什么是 LibreTranslate ?

LibreTranslate 免费开源机器翻译 API,完全自托管。与其他 API 不同,它不依赖于 GoogleAzure 等专有提供商来执行翻译。它的翻译引擎由开源 Argos Translate 库提供支持。

这个软件在 20223 月的时候折腾过,但当时容器会停止,从下面的文章看,应该可能是内存不够。

https://www.reddit.com/r/selfhosted/comments/yrdeyc/libretranslate_free_and_open_source_machine

毕竟翻译模型和语言模型都是很耗资源的,当然除了内存,最好还有 GPU 的支持。

今年 618 买了根内存条,所以又把它翻出来了,虽然才 8G,但确实跑起来了,也有可能是老苏选择的语言模型少的缘故。

文中部分截图还是使用的老图,但不会影响您的理解;

如果你不想自己搭建,可以去官方搭建的站点看看,网址:https://libretranslate.com

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 libretranslate ,选择第一个 libretranslate/libretranslate,版本选择 latest

  1. 本次折腾,latest 对应的版本是 v1.3.11;
  2. 如果你的主机带 nvidia 显卡,可以选择 latest-cuda 试试;

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
53535000

环境

LibreTranslate 有很多命令行参数,可以参考官方的文档:https://github.com/LibreTranslate/LibreTranslate#arguments

【注意】:每个参数都有一个可以替代使用的等效环境变量。环境。变量会覆盖默认值,但优先级低于命令参数,并且在与 Docker 一起使用时特别有用。环境变量名称是等效命令参数名称的大写字母,带有LT前缀。

老苏没有使用环境变量,而是在命令行中输入了 --load-only en,zh,意思是只加载中文和英文。如果要使用环境变量,可以用 LT_LOAD_ONLY

命令行运行

命令行方式中,老苏对容器的最大内存使用量和 CPU 占用做了限制;当然机器够强的话,可以不做限制的;

docker cli 安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 运行容器(低调内敛模式)
docker run -d \--restart unless-stopped \--name libretranslate \--cpu-shares="700" \--memory 4096m \-p 5353:5000 \libretranslate/libretranslate \--load-only en,zh# 运行容器(火力全开模式)
docker run -d \--restart unless-stopped \--name libretranslate \-p 5353:5000 \libretranslate/libretranslate \--load-only en,zh

参数说明:

  • --cpus-shares="700":为容器提供更少比例的 CPU 周期,默认为 1024;
  • --memory 4096m;为容器的内存使用设置一个无法超越的硬限制;

在这里插入图片描述

从上图可以看到,第一次运行时,会下载我们设定的语言模型

docker-compose 安装

不推荐这种方式安装,会看不到容器的日志,原因不明;这会导致你不知道语言模型是否下载成功,因而不知道什么时候才能正常访问

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:libretranslate:image: libretranslate/libretranslatecontainer_name: libretranslaterestart: unless-stopped# mem_limit: 4096m# cpu_shares: 700ports:- 5353:5000healthcheck:test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']command: --load-only en,zh

如果你想启用资源限制,可以去掉 # 号的注释;

然后执行下面的命令

# 新建文件夹 libretranslate 
mkdir -p /volume1/docker/libretranslate# 进入 libretranslate 目录
cd /volume1/docker/libretranslate# 将 docker-compose.yml 放入当前目录# 一键启动
docker-compose up -d

运行

第一次运行会需要下载语言模型

当你在日志中看到 Running on http://0.0.0.0:5000 时,就可以在浏览器中输入 http://群晖IP:5353 ,并看到主界面了

在这里插入图片描述

复制了下面这段英文,试了下 英翻中

Free and Open Source Machine Translation API. Self-hosted, offline capable and easy to setup.

在这里插入图片描述

又用下面这段中文,试了下 中翻英

Plane 是一个简单的、可扩展的、开源的项目和产品管理工具。

LibreTranslate 翻译的

Plane is a simple, expanded, open-source project and product management tool

百度翻译的

Plane is a simple, scalable, open-source project and product management tool.

似乎看起来效果还可以对吧,此外还支持翻译文件,格式也比较丰富

在这里插入图片描述

至于 API 一般人也用不上,就不提了

参考文档

LibreTranslate/LibreTranslate: Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.
地址:https://github.com/LibreTranslate/LibreTranslate

Docker Container Memory & CPU Limit: Set Up and Manage Resources
地址:https://phoenixnap.com/kb/docker-memory-and-cpu-limit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109945.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Langchain+GPT+向量数据库chromadb 来创建文档对话机器人

使用LangchainGPT向量数据库chromadb 来创建文档对话机器人 一.效果图如下: 二.安装包 pip install langchainpip install chromadbpip install unstructuredpip install jieba三.代码如下 #!/usr/bin/python # -*- coding: UTF-8 -*-import os # 导入os模块&…

【Git】万字git与gitHub

🎄欢迎来到边境矢梦的csdn博文🎄 🎄本文主要梳理在git和GitHub时的笔记与感言 🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下🫰&…

QT子线程或自定义类操作访问主界面UI控件的几种方法

前言 QT创建窗体工程,一般在MainWindow或Dialog类里可以直接通过ui指针访问控件,但是添加新的类后又如何访问呢,可以通过以下几种方式: 将ui指针公开后直接访问 (1)例如有个自己定义的类CustomCl…

Android 官方屏幕适配之ScreenMatch

背景: Android 项目的一个app需要适配手机平板,为了一套UI和可以适配2个不同屏幕,记录一个适配的技巧: 前提,使用这个框架:GitHub - wildma/ScreenAdaptation: :fire:一种非常好用的 Android 屏幕适配——…

Leetcode: 645.错误的集合 题解【超详细】

题目 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(9 月 15 日论文合集)

文章目录 一、检测相关(6篇)1.1 ALWOD: Active Learning for Weakly-Supervised Object Detection1.2 mEBAL2 Database and Benchmark: Image-based Multispectral Eyeblink Detection1.3 Co-Salient Object Detection with Semantic-Level Consensus Extraction and Dispersio…

[npm]package.json文件

[npm]package.json文件 生成 package.jsonpackage.json 必须属性nameversion 描述信息descriptionkeywordsauthorcontributorshomepagerepositorybugs 依赖配置dependenciesdevDependenciespeerDependenciesoptionalDependenciesbundledDependenciesengines 脚本配置scriptscon…

spring boot 使用AOP+自定义注解+反射实现操作日志记录修改前数据和修改后对比数据,并保存至日志表

一、添加aop starter依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId> </dependency>二&#xff1a;自定义字段翻译注解。&#xff08;修改功能时&#xff0c;需要显示如…

SpringBoot整合Easy-ES实现对ES操作

请确保已有可用的ES&#xff0c;若没有&#xff0c;请移步&#xff1a;Docker安装部署ElasticSearch&#xff08;ES&#xff09; 新建SpringBoot项目 这里是用的springboot版本是2.6.0 引入依赖 <!-- 排除springboot中内置的es依赖,以防和easy-es中的依赖冲突--><…

Python解析MDX词典数据并保存到Excel

原始数据和处理结果&#xff1a; https://gitcode.net/as604049322/blog_data/-/tree/master/mdx 下载help.mdx词典后&#xff0c;我们无法直接查看&#xff0c;我们可以使用readmdict库来完成对mdx文件的读取。 安装库&#xff1a; pip install readmdict对于Windows平台还…

分析报告显示,PHP是编程语言主力军,且在电商领域占据“统治地位”

日前有有业内专家透露了PHP语言的使用数据&#xff0c;并强调了PHP语言对于互联网的作用。 而根据W3 Techs发布的《全球前1000万个网站使用的编程语言分析(截至 2023.8)》中&#xff0c;有这样一组数据引起广泛的关注。PHP占比 77.2%、ASP占比 6.9%、Ruby 占比5.4%。 此外&am…

BLE架构与开源协议栈

BLE架构&#xff1a; 简单来说&#xff0c;BLE协议栈可以分成三个部分&#xff0c;主机(host)程序&#xff0c;控制器(controller)程序&#xff0c;主机控制器接口(HCI)。如果再加上底层射频硬件和顶层用户程序&#xff0c;则构成了完整的BLE协议&#xff0c;如下图所示&#…