sanjanamatecharla commited on
Commit
ca10efe
1 Parent(s): b86e660

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -0
app.py ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
3
+
4
+ def translate_text(article, source_language, target_language):
5
+ # Importing the pre-trained model
6
+ tokenizer = AutoTokenizer.from_pretrained("facebook/nllb-200-distilled-600M")
7
+ model = AutoModelForSeq2SeqLM.from_pretrained("facebook/nllb-200-distilled-600M")
8
+
9
+ # Mapping language to language code
10
+ lang_code = {
11
+ "hindi": "hin_Deva",
12
+ "telugu": "tel_Telu",
13
+ "english":"eng_Latn"
14
+ # Add more language codes as needed
15
+ }
16
+
17
+ # Appending source language to the input text
18
+ article_with_lang = f"{article} [lang:{lang_code[source_language]}]"
19
+
20
+ # Translating the sentence
21
+ inputs = tokenizer(article_with_lang, return_tensors="pt")
22
+ translated_tokens = model.generate(
23
+ **inputs, forced_bos_token_id=tokenizer.lang_code_to_id[lang_code[target_language]], max_length=30
24
+ )
25
+
26
+ # Decoding and returning the translated text
27
+ return tokenizer.batch_decode(translated_tokens, skip_special_tokens=True)[0]
28
+
29
+ # Streamlit UI
30
+ st.title("Language Translator")
31
+
32
+ # Input section
33
+ st.sidebar.header("Input Options")
34
+ input_text = st.text_area("Enter Text to Translate:")
35
+ source_language = st.sidebar.selectbox("Select Source Language:", ["english", "hindi", "telugu"])
36
+
37
+ # Output section
38
+ st.sidebar.header("Output Options")
39
+ target_language = st.sidebar.selectbox("Select Target Language:", ["english","hindi", "telugu"])
40
+
41
+ # Translate button
42
+ if st.button("Translate"):
43
+ if input_text:
44
+ translated_text = translate_text(input_text, source_language, target_language)
45
+ st.success(f"Translated ({target_language}): {translated_text}")
46
+ else:
47
+ st.warning("Please enter text to translate.")