Spaces:
Sleeping
Sleeping
| # Install necessary libraries (run this once)!pip install transformers gradio | |
| # Now import them | |
| from transformers import MarianMTModel, MarianTokenizer | |
| import gradio as gr | |
| # Define the models | |
| models = { | |
| "English to Urdu": { | |
| "model_name": "Helsinki-NLP/opus-mt-en-ur" | |
| }, | |
| "Urdu to English": { | |
| "model_name": "Helsinki-NLP/opus-mt-ur-en" | |
| } | |
| } | |
| # Load models and tokenizers | |
| loaded_models = {} | |
| for direction, info in models.items(): | |
| tokenizer = MarianTokenizer.from_pretrained(info["model_name"]) | |
| model = MarianMTModel.from_pretrained(info["model_name"]) | |
| loaded_models[direction] = (tokenizer, model) | |
| # Define the translation function | |
| def translate_text(text, direction): | |
| tokenizer, model = loaded_models[direction] | |
| inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True) | |
| translated = model.generate(**inputs, max_length=512) | |
| output = tokenizer.decode(translated[0], skip_special_tokens=True) | |
| return output | |
| # Create Gradio Interface | |
| iface = gr.Interface( | |
| fn=translate_text, | |
| inputs=[ | |
| gr.Textbox(label="Enter text here", placeholder="Type your English or Urdu text..."), | |
| gr.Radio(["English to Urdu", "Urdu to English"], label="Select translation direction") | |
| ], | |
| outputs=gr.Textbox(label="Translated Text"), | |
| title="π English β Urdu Translator", | |
| description="Translate text between English and Urdu using Hugging Face pretrained models.", | |
| theme="default" | |
| ) | |
| # Launch the app | |
| iface.launch() |