CoolFace
Apppublic

Mds21/Traslation-Transformer

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py49 linesDownload Raw Back to root
1import gradio as gr                   2from transformers import pipeline3translation_pipeline_german = pipeline('translation_en_to_de')4translation_pipeline_hindi = pipeline('translation_en_to_de')5def hindi_translate(text_):6    from transformers import MarianMTModel, MarianTokenizer7    # Load the English to Hindi translation model and tokenizer8    model_name = "Helsinki-NLP/opus-mt-en-hi"9    model = MarianMTModel.from_pretrained(model_name)10    tokenizer = MarianTokenizer.from_pretrained(model_name)11    # English text to be translated12    english_text = text_13    # Tokenize the input text14    inputs = tokenizer.encode(english_text, return_tensors="pt")15    # Perform translation16    translation = model.generate(inputs)17    # Decode the translation18    hindi_translation = tokenizer.decode(translation[0], skip_special_tokens=True)19    return hindi_translation20    21def en_hi_translate(text):22    from googletrans import Translator23    # Initialize the translator24    translator = Translator()25    26    # English text to be translated27    english_text = text28    29    # Translate text from English to Hindi30    translation = translator.translate(english_text, src='en', dest='hi')31    return translation.text32    33# results = translation_pipeline('I love ice cream')34# results[0]['translation_text']35def translate_transformers(English,Language_To_Translate):36    if "German" in Language_To_Translate:37        results = translation_pipeline_german(English)38        return results[0]['translation_text']39    elif "Hindi" in  Language_To_Translate:40        results = en_hi_translate(English)41        return results42    43 44interface = gr.Interface(fn=translate_transformers, 45                         inputs=[gr.inputs.Textbox(lines=2, placeholder='Text to translate'),46                         gr.CheckboxGroup(["German", "Hindi"])],47                        outputs='text')48 49interface.launch()