Nawinkumar15's picture
Update app.py
e0deeac verified
from transformers import MarianMTModel, MarianTokenizer
import gradio as gr
# Only include models that are confirmed available
LANGUAGE_MODELS = {
"Hindi": "Helsinki-NLP/opus-mt-en-hi",
"French": "Helsinki-NLP/opus-mt-en-fr",
"Spanish": "Helsinki-NLP/opus-mt-en-es",
}
# Load models
models = {
lang: {
"tokenizer": MarianTokenizer.from_pretrained(model),
"model": MarianMTModel.from_pretrained(model)
}
for lang, model in LANGUAGE_MODELS.items()
}
def translate(text, language):
if language not in models:
return f"Translation to {language} is not available."
tokenizer = models[language]["tokenizer"]
model = models[language]["model"]
inputs = tokenizer(text, return_tensors="pt", padding=True)
translated = model.generate(**inputs)
return tokenizer.decode(translated[0], skip_special_tokens=True)
interface = gr.Interface(
fn=translate,
inputs=["text", gr.Dropdown(list(LANGUAGE_MODELS.keys()), label="Translate to")],
outputs="text",
title="English to Language Translator",
description="Translate English text to Hindi, French, or Spanish."
)
interface.launch()