argos-translate:基于 Python 与 OpenNMT 的离线翻译库项目

Open-source offline translation library written in Python

Branch3Tags12
FilesLast commitLast update
5 years ago
4 months ago
4 years ago
5 years ago
7 months ago
4 years ago
2 years ago
2 years ago
1 year ago
5 years ago
10 months ago
2 years ago
3 years ago
6 years ago
2 months ago
10 months ago
2 years ago
7 months ago
5 months ago

Argos Translate

演示 | 网站 | 文档 | 论坛 | GitHub | PyPI

基于 Python 开发的开源离线翻译库

Argos Translate 采用 OpenNMT 进行翻译,可作为 Python 库、命令行工具或 GUI 应用程序使用。Argos Translate 支持安装语言模型包,这些包是扩展名为 ".argosmodel" 的 zip 压缩文件,包含翻译所需的数据。LibreTranslate 是一个基于 Argos Translate 构建的 API 和 Web 应用。

Argos Translate 还能自动通过中间语言进行中转翻译,从而实现在未安装直接翻译模型的语言之间进行翻译。例如,如果已安装 es → en 和 en → fr 的翻译模型,系统会自动将 es → fr 的翻译请求通过英语中转来完成,就像直接安装了该语言对的翻译模型一样。这一功能使得用户能够在多种语言之间进行翻译,但可能会导致部分翻译质量的损失。

argospm-index 代码库包含用于访问预训练 Argos Translate 模型的元数据和下载链接。

支持的语言

浏览软件包索引

阿拉伯语、阿塞拜疆语、巴斯克语、加泰罗尼亚语、中文、捷克语、丹麦语、荷兰语、英语、世界语、芬兰语、法语、加利西亚语、德语、希腊语、希伯来语、印地语、匈牙利语、印度尼西亚语、爱尔兰语、意大利语、日语、吉尔吉斯语、韩语、马来语、波斯语、波兰语、葡萄牙语、葡萄牙语(巴西)、俄语、斯洛伐克语、西班牙语、斯瓦希里语、瑞典语、土耳其语、乌克兰语、乌尔都语及更多语言

申请添加语言

安装

使用 Python 安装

Argos Translate 可从 PyPI 获取,并可通过 pip 轻松安装。

pip install argostranslate

安装 GUI

pip install argostranslategui

在虚拟环境中安装 Python 源码

下载此仓库的副本并使用 pip 进行安装。

git clone https://github.com/argosopentech/argos-translate.git
cd argos-translate
virtualenv env
source env/bin/activate
pip install -e .

示例

Python

import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "es"

# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'

命令行界面

argospm update
argospm install translate-en_de
argos-translate --from en --to de "Hello World!"
# Hallo Welt!

安装所有翻译包:

argospm install translate

LibreTranslate Web 应用程序(演示

Web 应用程序截图

LibreTranslate API

const res = await fetch("https://translate.argosopentech.com/translate", {
	method: "POST",
	body: JSON.stringify({
		q: "Hello!",
		source: "en",
		target: "es"
	}),
	headers: {
		"Content-Type": "application/json"}
	});

console.log(await res.json());

{
    "translatedText": "¡Hola!"
}

图形用户界面

图形用户界面(GUI)代码位于单独的代码仓库中。

Screenshot Screenshot2

软件包

GPU加速

要启用GPU支持,您需要将ARGOS_DEVICE_TYPE环境变量设置为cudaauto

$ ARGOS_DEVICE_TYPE=cuda argos-translate --from-lang en --to-lang es "Hello World"
Hola Mundo

上述环境变量将设备类型传递给 CTranslate2

HTML 翻译

translate-html 库基于 Argos Translate 和 Beautiful Soup 构建,可解析并翻译 HTML。LibreTranslate API 同样支持 HTML 翻译。

文件翻译

argos-translate-files 库基于 Argos Translate 构建,可解析并翻译文件。LibreTranslate API 同样支持文件翻译。

卸载

pip uninstall argostranslate

您也可以选择删除临时文件和缓存文件:

rm -r ~/.local/cache/argos-translate
rm -r ~/.local/share/argos-translate

相关项目

贡献

欢迎贡献!可参与的问题请见 GitHub issues 页面。代码、数据和预训练模型的贡献均可接受。

支持

如需支持,请使用 LibreTranslate 论坛GitHub Issues

有关 CTranslate2 或一般机器翻译研究的问题,OpenNMT 论坛 是不错的资源。

服务

可基于您自己的数据训练定制模型,费用为每种语言 1000 美元(可协商)。

我也可提供技术支持、咨询或定制软件开发服务

资金支持

捐赠

如果您觉得本软件有用,非常感谢您的捐赠,这将帮助项目实现可持续发展。

付费支持者将获得优先支持。

赞助商

Argos Translate 自豪地由 TestMu AI 赞助。

TestMu AI 标志

TestMu AI(前身为 LambdaTest) 是全球首个全栈智能 AI 质量工程平台。自主 AI 代理在人工参与下,跨 3000 多种浏览器/操作系统组合和 10000 多台真实设备,进行测试计划、编写、执行、分析和优化。受到 18000 多家企业的信任,包括微软、OpenAI、NVIDIA 和 Vimeo。

探索该平台 →

托管联盟链接

您可以通过以下推荐链接购买托管服务,为 Argos Translate 提供资金支持:

贡献指南

欢迎贡献!无论是错误报告、拉取请求、文档编写还是功能建议,我们都表示感谢。

许可证

Argos Translate 采用双重许可,您可以选择 MIT 许可证知识共享 CC0

Introduction

开源的Python编写离线翻译库【此简介由AI生成】

Customize your domain
606.47 K485Visit GitHub