咨询热线

400-123-4657

notice  最新公告

HONOR

荣誉资质

service phone 400-123-4657

安博体育官网app- 使用Transformer构建自己的机械翻译服务

点击量:164    时间:2023-12-01
更多
本文摘要:使用Transformers库中可用的最新赫尔辛基NLP模型来建立尺度化的机械翻译服务在企业情况中需要机械翻译。

使用Transformers库中可用的最新赫尔辛基NLP模型来建立尺度化的机械翻译服务在企业情况中需要机械翻译。至关重要的是,跨国公司必须能够与世界各地的人们共享多种语言的文档,便笺,电子邮件和其他文本。可以说,更为重要的是需要在全球化的同时使信息民主化。

无论您使用哪种口头语言,您都应该使用与主要口语(例如英语)相同的开源出书物,医疗保健信息,工具和知识。> I made this in powerpoint. It's horrible. 幸运的是,机械翻译已经存在了一段时间-我们中的许多人已经使用Google翻译来在线确认某物的内容,或者只是听起来智慧而世俗。

如果您有需要扩展的翻译需求,Azure,AWS和GCP都提供消耗性API,每百万个字符仅需10美元,即可支持数千种语言对(一对语言由源语言和目的语言组成)。在开源空间中,已经举行了无数种跨多种语言的机械学习事情,而且人们早就能够训练自己的机械翻译模型。可是,大多数方法在建模方法和支持的语言数量方面似乎是完全差别的(在我自己的幼稚评估中)。

最近,Huggingface从赫尔辛基大学公布了1,000多种预训练的语言模型。对于希望建立自己的AWS或Google翻译API的人来说,这从未如此简朴。所以,我想我会使用别人的辛勤事情。这相当于"让我们在Flask API和docker镜像中包装机械学习",但无论如何,它都很有趣。

我们开始做吧。用变Transformer举行机械翻译Huggingface在将SOTA(最先进的)模型用于简朴的Python API中以实现像我这样的复制+粘贴编码器方面所做的精彩事情。

要在当地翻译文本,您只需要点安装变压器,然后使用以下来自变压器文档的代码段即可。这将下载所需的模型并转换源文本->目的文本。有了这种花样的大量支持语言,将其抛入dockerized flask应用法式并天天挪用它是很是容易的,可是我们确实有许多分外的事情要做……随时关注git repo。

下载模型当您初始化上述模型时,如果当地没有所需的文件,则转换器将下载所需的文件。这对于当地使用来说是很棒的,可是在使用Docker容器时却不是。由于容器的存储是短暂的,因此每次我们退出容器时,我们都市丢失所有模型,而下次需要重新下载所有模型。为了制止这种情况,我们可以单独处置惩罚模型下载并将模型作为卷安装。

这也使我们可以更好地控制我们希望我们的服务从一开始就支持的语言。Huggingface在S3上托管了所有须要的文件,因此我们可以对此举行尺度化…然后建立一个简朴的下令行实用法式来下载它们:酷。

现在,我们可以通过一个下令下载所需的模型。以日语->英语为例。python download_models.py –source ja –target zh默认情况下,这会将它们下载到名为data的目录中,因此只需检查以确生存在。

Python中的动态语言翻译现在,我们有了更好的方法来治理我们支持的语言,让我们先解决问题的实质,然后再使用类和相关方法来治理我们的翻译。我们在这里需要几个功效:· 翻译给定源语言和目的语言(duh)的文本· 将我们没有的模型加载和治理到内存中(我用一个简朴的字典)· 获得支持的语言(我们为此应用法式下载了哪些语言?)由于变压器对用户友好,因此险些无需花费任何时间就可以将此功效包装到轻量级类中供我们使用。此类已使用我们用于生存模型并自行处置惩罚其余部门的路径举行了初始化。

如果我们收到翻译请求,但内存中没有该模型,则会挪用load_models将其加载到self.models字典中。这将检查我们的数据目录以检察是否具有该模型,并返回一条消息以见告我们是否这样做。使其成为API现在我们需要做的就是将其包装在flask中,以便可以对其举行HTTP挪用。

要使用它,只需运行python app.py,然后挪用该服务即可。要检查其是否正常运行,您可以卷曲localhost:5000或使用更庞大的工具(例如Postman)。我在这里使用Flask服务器,但您希望生产Web服务器在实际的任何地方都可以使用它。将其包装在Docker映像中现在,我们的应用法式可以使用基本的Python,我们希望使其能够与Docker或docker-compose一起使用,以便我们可以凭据需要扩展和扩展它。

我们为此使用的实际Dockerfile很是简朴。我们只需要确保在毗连了卷的情况下运行该服务,以便该服务已经可以会见数据。

我通常会使用较小的基本图片,但说实话,我不想调试:生成并运行下令:docker build -t machine-translation-service .docker run -p 5000:5000 -v $(pwd)/data:/app/data -it machine-translation-service同样,我们可以通过挪用服务来测试端点。如果我下载了en-> fr之类的语言门路,则应该可以使用curl举行以下API挪用:curl --location --request POST 'http://localhost:5000/translate' \--header 'Content-Type: application/json' \--data-raw '{。


本文关键词:安博体育官网app

本文来源:安博体育官网app-www.baian3d.com


有什么问题请反馈给我们!


如有需求请您联系我们!

地址:山西省晋城市当涂县工和大楼5748号
电话:400-123-4657
传真:+86-123-4567
版权所有:Copyright © 2007-2023 www.baian3d.com. 安博体育官网app科技 版权所有

ICP备案编号:ICP备38763549号-4