|
|
|
from transformers import MarianMTModel, MarianTokenizer |
|
import gradio as gr |
|
|
|
|
|
model_name = "Helsinki-NLP/opus-mt-en-ur" |
|
tokenizer = MarianTokenizer.from_pretrained(model_name) |
|
model = MarianMTModel.from_pretrained(model_name) |
|
|
|
|
|
def translate_english_to_urdu(text): |
|
|
|
tokenized_text = tokenizer.prepare_seq2seq_batch([text], return_tensors="pt") |
|
|
|
|
|
translated_tokens = model.generate(**tokenized_text) |
|
|
|
|
|
translated_text = tokenizer.decode(translated_tokens[0], skip_special_tokens=True) |
|
|
|
return translated_text |
|
|
|
|
|
def gradio_translator(input_text): |
|
|
|
translated_text = translate_english_to_urdu(input_text) |
|
return translated_text |
|
|
|
|
|
interface = gr.Interface( |
|
fn=gradio_translator, |
|
inputs=gr.Textbox(lines=2, placeholder="Enter English text here..."), |
|
outputs=gr.Textbox(lines=2, placeholder="Urdu translation will appear here..."), |
|
title="English to Urdu Translator", |
|
description="Translate English text to Urdu using the Helsinki-NLP/opus-mt-en-ur model.", |
|
examples=[ |
|
["Hello, how are you?"], |
|
["What is your name?"], |
|
["I love programming."] |
|
] |
|
) |
|
|
|
|
|
interface.launch() |