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() |