# -*- coding: utf-8 -*- """app.ipynb Automatically generated by Colab. Original file is located at https://colab.research.google.com/drive/1Ir0MiuPLQvCCHbSfM1tm0V_srviSEOi2 """ import gradio as gr import torch from transformers import MarianMTModel, MarianTokenizer class IdiomTranslator: def __init__(self): model_id = "Helsinki-NLP/opus-mt-hi-en" self.tokenizer = MarianTokenizer.from_pretrained(model_id) self.model = MarianMTModel.from_pretrained(model_id) if torch.cuda.is_available(): self.model.cuda() def translate(self, text): if not text.strip(): return "Enter some Hindi text." inputs = self.tokenizer(text, return_tensors="pt", truncation=True, padding=True) if torch.cuda.is_available(): inputs = {k: v.cuda() for k,v in inputs.items()} outs = self.model.generate(**inputs, max_length=128, num_beams=4) return self.tokenizer.decode(outs[0], skip_special_tokens=True) translator = IdiomTranslator() demo = gr.Interface( fn=translator.translate, inputs=gr.Textbox(lines=3, label="Hindi Text"), outputs=gr.Textbox(lines=3, label="English Translation"), title="Idiom-Aware Hindi→English Translator", description="Fine-tuned for cultural idioms.", examples=[["रस्सी जल गयी, बल नहीं गया"],["दाल में कुछ काला है"]] ) if __name__ == "__main__": demo.launch()