通过 Helsinki-NLP 本地部署中英文翻译功能。该开源模型性价比相对高,资源占用少,对于翻译要求不高的应用场景可以使用,比如单词,简单句式的中英文翻译。
该示例使用的模型下载地址:【免费】Helsinki-NLP中英文翻译本地部署-python实现模型资源-CSDN文库
模型也可以在hugging face 下载。
1、英文翻译为中文示例:
python
# -*- coding: utf-8 -*-
# date:2024
# Author: DataBall
# function:英文翻译为中文
import os
import cv2
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
from transformers import pipeline, AutoModelWithLMHead, AutoTokenizer
# 英文翻译成中文
model = AutoModelWithLMHead.from_pretrained("Helsinki-NLP/opus-mt-en-zh",cache_dir = "./ckpt-fy",local_files_only=True)
tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-en-zh",cache_dir = "./ckpt-fy",local_files_only=True)
translation = pipeline("translation_en_to_zh", model=model, tokenizer=tokenizer)
text = "Because of dreams, I will work hard."
translated_text = translation(text, max_length=256)[0]['translation_text']
print(" 原英文 : {}".format(text))
print(" 翻译中文: {}".format(translated_text))
对应的英文转中文log如下:
python
原英文 : Because of dreams, I will work hard.
翻译中文: 因为梦想,我会努力工作
2、中文翻译为英文示例:
python
# -*- coding: utf-8 -*-
# date:2024
# Author: DataBall
# function:中文翻译为英文
import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
from transformers import pipeline, AutoModelWithLMHead, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Helsinki-NLP/opus-mt-zh-en",cache_dir = "./ckpt-fy",local_files_only=True)
model = AutoModelForSeq2SeqLM.from_pretrained("Helsinki-NLP/opus-mt-zh-en",cache_dir = "./ckpt-fy",local_files_only=True)
translation = pipeline("translation_zh_to_en", model=model, tokenizer=tokenizer)
text = "因为梦想,我会努力工作。"
translated_text = translation(text, max_length=256)[0]['translation_text']
print(" 原中文 : {}".format(text))
print(" 翻译英文: {}".format(translated_text))
对应的中文转英文log如下:
python
原中文 : 因为梦想,我会努力工作。
翻译英文: Because of my dreams, I'll work hard.
助力快速掌握数据集的信息和使用方式。