Translation / app.py
puppala13's picture
Update app.py
31c25aa verified
import streamlit as st
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
from transformers import MBartForConditionalGeneration, MBart50TokenizerFast
def main():
st.title("Translation App")
# Load model and tokenizer
model = MBartForConditionalGeneration.from_pretrained("facebook/mbart-large-50-one-to-many-mmt")
tokenizer = MBart50TokenizerFast.from_pretrained("facebook/mbart-large-50-one-to-many-mmt", src_lang="en_XX")
# Input text area
input_text = st.text_area("Enter text to translate", "")
# Translation buttons
translate_hindi = st.button("Hindi")
translate_tamil = st.button("Tamil")
translate_telugu = st.button("Telugu")
if translate_hindi:
translated_text = translate_text(input_text, model, tokenizer, target_lang="hi_IN")
st.write("Translated Text (Hindi):")
st.write(translated_text)
if translate_tamil:
translated_text = translate_text(input_text, model, tokenizer, target_lang="ta_IN")
st.write("Translated Text (Tamil):")
st.write(translated_text)
if translate_telugu:
translated_text = translate_text(input_text, model, tokenizer, target_lang="te_IN")
st.write("Translated Text (Telugu):")
st.write(translated_text)
def translate_text(input_text, model, tokenizer, target_lang):
# Tokenize input text
input_ids = tokenizer(input_text, return_tensors="pt").input_ids
# Generate translation
generated_tokens = model.generate(
input_ids=input_ids,
forced_bos_token_id=tokenizer.lang_code_to_id[target_lang]
)
# Decode translated text
translated_text = tokenizer.decode(generated_tokens[0], skip_special_tokens=True)
return translated_text
if __name__ == '__main__':
main()