Update app.py
Browse files
app.py
CHANGED
@@ -19,28 +19,46 @@ def download_argos_model(from_code, to_code):
|
|
19 |
)
|
20 |
argostranslate.package.install_from_path(package_to_install.download())
|
21 |
|
22 |
-
#
|
23 |
st.header("Text Machine Translation")
|
24 |
input_text = st.text_input("Enter text to translate:")
|
25 |
-
|
|
|
26 |
options = ["German", "Romanian", "English", "French", "Spanish", "Italian"]
|
27 |
-
langs = {"English":"en", "Romanian":"ro", "German":"de", "French":"fr", "Spanish":"es", "Italian":"it"}
|
28 |
-
models = ["Helsinki-NLP", "t5-base", "t5-small", "t5-large", "Unbabel/Tower-Plus-2B",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
-
# Create two columns
|
31 |
-
scol, tcol = st.columns(2)
|
32 |
-
# Place select boxes in columns
|
33 |
with scol:
|
34 |
-
sselected_language = st.selectbox("Source language:", options,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
with tcol:
|
36 |
-
tselected_language = st.selectbox("Target language:", options,
|
37 |
-
|
|
|
|
|
|
|
38 |
|
39 |
-
|
40 |
-
|
|
|
41 |
|
42 |
-
|
43 |
-
st.session_state["tselected_language"] = tselected_language
|
44 |
st.session_state["model_name"] = model_name
|
45 |
|
46 |
if model_name == 'Helsinki-NLP':
|
|
|
19 |
)
|
20 |
argostranslate.package.install_from_path(package_to_install.download())
|
21 |
|
22 |
+
# App layout
|
23 |
st.header("Text Machine Translation")
|
24 |
input_text = st.text_input("Enter text to translate:")
|
25 |
+
|
26 |
+
# Language options and mappings
|
27 |
options = ["German", "Romanian", "English", "French", "Spanish", "Italian"]
|
28 |
+
langs = {"English": "en", "Romanian": "ro", "German": "de", "French": "fr", "Spanish": "es", "Italian": "it"}
|
29 |
+
models = ["Helsinki-NLP", "t5-base", "t5-small", "t5-large", "Unbabel/Tower-Plus-2B",
|
30 |
+
"Unbabel/TowerInstruct-Mistral-7B-v0.2", "Google", "Argos"]
|
31 |
+
|
32 |
+
# Initialize session state if not already set
|
33 |
+
if "sselected_language" not in st.session_state:
|
34 |
+
st.session_state["sselected_language"] = options[0]
|
35 |
+
if "tselected_language" not in st.session_state:
|
36 |
+
st.session_state["tselected_language"] = options[1]
|
37 |
+
|
38 |
+
# Create columns for language selection
|
39 |
+
scol, swapcol, tcol = st.columns([3, 1, 3])
|
40 |
|
|
|
|
|
|
|
41 |
with scol:
|
42 |
+
sselected_language = st.selectbox("Source language:", options,
|
43 |
+
index=options.index(st.session_state["sselected_language"]))
|
44 |
+
with swapcol:
|
45 |
+
if st.button("🔄 Swap"):
|
46 |
+
# Swap languages in session state
|
47 |
+
st.session_state["sselected_language"], st.session_state["tselected_language"] = \
|
48 |
+
st.session_state["tselected_language"], st.session_state["sselected_language"]
|
49 |
+
st.experimental_rerun() # Rerun to update UI
|
50 |
with tcol:
|
51 |
+
tselected_language = st.selectbox("Target language:", options,
|
52 |
+
index=options.index(st.session_state["tselected_language"]))
|
53 |
+
|
54 |
+
# Model selection
|
55 |
+
model_name = st.selectbox("Select a model:", models, index=0)
|
56 |
|
57 |
+
# Language codes
|
58 |
+
sl = langs[st.session_state["sselected_language"]]
|
59 |
+
tl = langs[st.session_state["tselected_language"]]
|
60 |
|
61 |
+
# Store selections in session state
|
|
|
62 |
st.session_state["model_name"] = model_name
|
63 |
|
64 |
if model_name == 'Helsinki-NLP':
|