Mds21's picture
Update app.py
ad7ecac
import gradio as gr
from transformers import pipeline
translation_pipeline_german = pipeline('translation_en_to_de')
translation_pipeline_hindi = pipeline('translation_en_to_de')
def hindi_translate(text_):
from transformers import MarianMTModel, MarianTokenizer
# Load the English to Hindi translation model and tokenizer
model_name = "Helsinki-NLP/opus-mt-en-hi"
model = MarianMTModel.from_pretrained(model_name)
tokenizer = MarianTokenizer.from_pretrained(model_name)
# English text to be translated
english_text = text_
# Tokenize the input text
inputs = tokenizer.encode(english_text, return_tensors="pt")
# Perform translation
translation = model.generate(inputs)
# Decode the translation
hindi_translation = tokenizer.decode(translation[0], skip_special_tokens=True)
return hindi_translation
def en_hi_translate(text):
from googletrans import Translator
# Initialize the translator
translator = Translator()
# English text to be translated
english_text = text
# Translate text from English to Hindi
translation = translator.translate(english_text, src='en', dest='hi')
return translation.text
# results = translation_pipeline('I love ice cream')
# results[0]['translation_text']
def translate_transformers(English,Language_To_Translate):
if "German" in Language_To_Translate:
results = translation_pipeline_german(English)
return results[0]['translation_text']
elif "Hindi" in Language_To_Translate:
results = en_hi_translate(English)
return results
interface = gr.Interface(fn=translate_transformers,
inputs=[gr.inputs.Textbox(lines=2, placeholder='Text to translate'),
gr.CheckboxGroup(["German", "Hindi"])],
outputs='text')
interface.launch()