import logging from transformers import MarianMTModel, MarianTokenizer import sentencepiece # Setup logging logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') # Initialize logger logger = logging.getLogger(__name__) # Define a function to translate text from Russian to English def translate_to_english(text): logger.info("Loading model and tokenizer") model_name = 'Helsinki-NLP/opus-mt-ru-en' tokenizer = MarianTokenizer.from_pretrained(model_name) model = MarianMTModel.from_pretrained(model_name) logger.info("Tokenizing text") tokenized_text = tokenizer(text, return_tensors='pt', padding=True, truncation=True) logger.info("Performing translation") translated_tokens = model.generate(**tokenized_text) logger.info("Decoding translation") translated_text = tokenizer.decode(translated_tokens[0], skip_special_tokens=True) return translated_text # Sample Russian text russian_text = "16 стран-участниц «мирного саммита» в Швейцарии отказались подписывать коммюнике. Изначально документ подписали 80 из 92 приглашённых государств. В частности, поддержать текст отказались Армения, Бахрейн, Бразилия, Индия, Индонезия, Ливия, Мексика, ОАЭ, Саудовская Аравия, Таиланд, ЮАР. Святой престол Папы Римского также сначала отказался подписывать коммюнике, но вскоре передумал. Свои подписи под итоговой декларацией вскоре отозвали Ирак и Иордания. Теперь из списка также исчезла Руанда. Примечательно, что в день саммита министр иностранных дел Украины Кулеба лично встретился с делегацией из Кигали и даже отчитался об этом. Представители государства не сообщили, почему решили отозвать свою подпись. Украинская сторона также не прокомментировала решение. Ранее выяснилось, что суть подписанного на саммите коммюнике свелась к предупреждению о недопустимости применения ядерного оружия и предложениям по обмену пленными." logger.info("Starting translation") # Translate the text english_text = translate_to_english(russian_text) logger.info("Translation complete") # Print the translated text print(f"Original Russian text: {russian_text}") print(f"Translated English text: {english_text}")