Запусти фейсбуковский переводчик локально (вопросы лицензии и прав использования изучи сам, если тебе для бизнеса)
https://huggingface.co/facebook/nllb-200-3.3B
(там есть куча моделей ищи nllb) код использования может быть таким (он автоматически скачает модель):
#!/usr/bin/python
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
# available models: 'facebook/nllb-200-distilled-600M', 'facebook/nllb-200-1.3B', 'facebook/nllb-200-distilled-1.3B', 'facebook/nllb-200-3.3B'
model_name = 'facebook/nllb-200-distilled-600M'
# add .to('cuda') to use nvidia gpu
model = AutoModelForSeq2SeqLM.from_pretrained(model_name) #.to('cuda')
tokenizer = AutoTokenizer.from_pretrained(model_name)
source = 'eng_Latn' # English
target = 'rus_Cyrl' # Russian
text = 'Information about training algorithms, parameters, fairness constraints or other applied approaches, and features. The exact training algorithm, data and the strategies to handle data imbalances for high and low resource languages that were used to train NLLB-200 is described in the paper.'
# code to use cpu only
translator = pipeline('translation', model=model, tokenizer=tokenizer, src_lang=source, tgt_lang=target)
output = translator(text, max_length=512)
translated_text = output[0]['translation_text']
# code to use gpu
#inputs = tokenizer(text, return_tensors="pt").input_ids.to('cuda')
#outputs = model.generate(inputs, max_new_tokens=512, do_sample=True, temperature=0.001, forced_bos_token_id=tokenizer.lang_code_to_id[target])
#translated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
# you can loop this three code lines to translate multiple texts (it's fast even on cpu)
print(translated_text)
Список кодов языков и оценку качества перевода бери из
метрик