bhagwandas commited on
Commit
d530258
·
verified ·
1 Parent(s): b5449f7

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import MarianMTModel, MarianTokenizer
3
+
4
+ # Title and Description
5
+ st.set_page_config(page_title='Language Translation App', layout='centered')
6
+ st.title('Language Translation App')
7
+ st.write('Translate text between multiple languages using an open-source model.')
8
+
9
+ # Model Selection
10
+ @st.cache_resource
11
+ def load_model(src_lang, tgt_lang):
12
+ model_name = f'Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}'
13
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
14
+ model = MarianMTModel.from_pretrained(model_name)
15
+ return tokenizer, model
16
+
17
+ # Sidebar for Language Selection
18
+ st.sidebar.header('Language Selection')
19
+ src_lang = st.sidebar.selectbox('Select Source Language', ['en', 'fr', 'es', 'de', 'it','pt','ru','zh','ja','ar'], index=0)
20
+ tgt_lang = st.sidebar.selectbox('Select Target Language', ['en', 'fr', 'es', 'de', 'it','pt','ru','zh','ja','ar'], index=1)
21
+
22
+ # Main Input Area
23
+ st.write('### Enter text to translate:')
24
+ text = st.text_area('Text Input', placeholder='Type your text here...')
25
+
26
+ # Translation Button
27
+ if st.button('Translate'):
28
+ if text.strip() == '':
29
+ st.warning('Please enter text to translate.')
30
+ else:
31
+ try:
32
+ tokenizer, model = load_model(src_lang, tgt_lang)
33
+ inputs = tokenizer.encode(text, return_tensors='pt')
34
+ translated = model.generate(inputs, max_length=1000, num_beams=5, early_stopping=True)
35
+ result = tokenizer.decode(translated[0], skip_special_tokens=True)
36
+ st.success('### Translated Text:')
37
+ st.write(result)
38
+ except Exception as e:
39
+ st.error(f'Error: {e}')
40
+
41
+ # Footer
42
+ st.sidebar.write('Powered by Helsinki-NLP/opus-mt')
43
+ st.sidebar.write('Built with Streamlit')
44
+
45
+ # To run the app, save this file and run `streamlit run filename.py` in your terminal.