如何运行Hugging Face平台的Helsinki-NLP系列机器翻译模型
Helsinki-NLP OPUS翻译模型快速使用指南
前置依赖安装
使用前请先安装所需依赖库,执行以下命令即可:pip install transformers sentencepiece torch
单条文本翻译示例
以你提到的 opus-mt-en-es(英翻西)、opus-mt-es-en(西翻英)模型为例,最简运行代码如下:
from transformers import pipeline # 初始化英翻西翻译流水线 translator_en_es = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es") # 传入单条英文文本完成翻译 en_to_es_result = translator_en_es("Hello, how are you today?") print(en_to_es_result[0]['translation_text']) # 输出参考:Hola, ¿cómo estás hoy? # 初始化西翻英翻译流水线 translator_es_en = pipeline("translation", model="Helsinki-NLP/opus-mt-es-en") # 传入单条西班牙语文本完成翻译 es_to_en_result = translator_es_en("Hola, ¿cómo estás hoy?") print(es_to_en_result[0]['translation_text']) # 输出参考:Hello, how are you today?
批量文本翻译示例
如果需要一次性翻译多条文本,直接传入文本列表即可:
text_batch = [ "I want to learn natural language processing", "This translation model is lightweight and fast", "I am going to the park this weekend" ] batch_results = translator_en_es(text_batch) for idx, res in enumerate(batch_results): print(f"原文{idx+1}:{text_batch[idx]}") print(f"译文{idx+1}:{res['translation_text']}\n")
注意事项
- 该系列模型的命名规则为
Helsinki-NLP/opus-mt-源语言代码-目标语言代码,常见语言代码包括en(英文)、es(西班牙文)、fr(法文)、zh(中文)等,需要其他语言对的模型时直接替换名称中的语言代码即可 - 首次运行时会自动下载对应模型的权重、词典等文件,下载完成后后续运行无需重复下载
- 单条输入文本的token长度不要超过512,过长的文本建议先拆分后再进行翻译,避免翻译截断
- 如果运行提示缺少相关依赖,可按照报错提示补充安装对应的库即可
内容的提问来源于stack exchange,提问作者Alan Heirich
相关产品推荐
相关产品推荐

