File size: 1,794 Bytes
83c1b5b
 
3e35f55
83c1b5b
 
 
 
 
3e35f55
 
83c1b5b
31c25aa
 
83c1b5b
31c25aa
 
 
 
9f43ee3
31c25aa
 
 
 
9f43ee3
31c25aa
 
 
 
83c1b5b
31c25aa
 
 
 
 
 
 
3e35f55
020eac5
31c25aa
dfb8d4c
020eac5
9f43ee3
020eac5
31c25aa
 
dfb8d4c
31c25aa
83c1b5b
 
 
31c25aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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()