AI-API / language /fr_mos.py
Anicet
update: review config for gpu machine
405b2f1
Raw
History Blame Contribute Delete
846 Bytes
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from functions.utils import DEVICE, TORCH_DTYPE
MODEL_NAME = "code-li/nllb-moore"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForSeq2SeqLM.from_pretrained(
MODEL_NAME,
torch_dtype=TORCH_DTYPE,
).to(DEVICE)
model.eval()
def translateFRMOS(text: str, sourceLang: str, targetLang: str):
tokenizer.src_lang = sourceLang
TGT_LANG_ID = tokenizer.convert_tokens_to_ids(targetLang)
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128).to(DEVICE)
with torch.no_grad():
tokens = model.generate(
**inputs,
forced_bos_token_id=TGT_LANG_ID,
max_length=128,
num_beams=4,
)
return tokenizer.decode(tokens[0], skip_special_tokens=True)