Update app.py
Browse files
app.py
CHANGED
|
@@ -503,7 +503,7 @@ def translate_text(model_name: str, s_language: str, t_language: str, input_text
|
|
| 503 |
|
| 504 |
# App layout
|
| 505 |
st.header("Text Machine Translation")
|
| 506 |
-
input_text = st.text_input("Enter text to translate:")
|
| 507 |
|
| 508 |
# Initialize session state if not already set
|
| 509 |
if "sselected_language" not in st.session_state:
|
|
@@ -512,6 +512,10 @@ if "tselected_language" not in st.session_state:
|
|
| 512 |
st.session_state["tselected_language"] = options[1]
|
| 513 |
if "model_name" not in st.session_state:
|
| 514 |
st.session_state["model_name"] = models[1]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 515 |
|
| 516 |
# Model selection FIRST
|
| 517 |
model_name = st.selectbox("Select a model:", models,
|
|
@@ -553,14 +557,13 @@ if model_name == 'Helsinki-NLP':
|
|
| 553 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 554 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
| 555 |
pipe = pipeline("translation", model=model, tokenizer=tokenizer)
|
| 556 |
-
if model_name.startswith('t5'):
|
| 557 |
-
tokenizer = T5Tokenizer.from_pretrained(model_name)
|
| 558 |
-
model = T5ForConditionalGeneration.from_pretrained(model_name).to(device)
|
| 559 |
|
| 560 |
st.write("Selected language combination:", sselected_language, " - ", tselected_language, "Selected model:", model_name)
|
| 561 |
submit_button = st.button("Translate")
|
| 562 |
-
translated_textarea = st.
|
| 563 |
-
message_textarea = st.
|
|
|
|
|
|
|
| 564 |
|
| 565 |
# Handle the submit button click
|
| 566 |
if submit_button:
|
|
@@ -617,6 +620,6 @@ if submit_button:
|
|
| 617 |
# Display the translated text
|
| 618 |
print(translated_text)
|
| 619 |
message = f"Translated from {sselected_language} to {tselected_language} using {model_name}."
|
| 620 |
-
translated_textarea
|
| 621 |
-
message_textarea
|
| 622 |
message = st.write(f"Translated text from {sselected_language} to {tselected_language} using {model_name}.")
|
|
|
|
| 503 |
|
| 504 |
# App layout
|
| 505 |
st.header("Text Machine Translation")
|
| 506 |
+
input_text = st.text_input("Enter text to translate:", placeholder="Enter text to translate, maximum 512 characters!")
|
| 507 |
|
| 508 |
# Initialize session state if not already set
|
| 509 |
if "sselected_language" not in st.session_state:
|
|
|
|
| 512 |
st.session_state["tselected_language"] = options[1]
|
| 513 |
if "model_name" not in st.session_state:
|
| 514 |
st.session_state["model_name"] = models[1]
|
| 515 |
+
if "translated_text" not in st.session_state:
|
| 516 |
+
st.session_state.translated_text = ""
|
| 517 |
+
if "message" not in st.session_state:
|
| 518 |
+
st.session_state.message = ""
|
| 519 |
|
| 520 |
# Model selection FIRST
|
| 521 |
model_name = st.selectbox("Select a model:", models,
|
|
|
|
| 557 |
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
| 558 |
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)
|
| 559 |
pipe = pipeline("translation", model=model, tokenizer=tokenizer)
|
|
|
|
|
|
|
|
|
|
| 560 |
|
| 561 |
st.write("Selected language combination:", sselected_language, " - ", tselected_language, "Selected model:", model_name)
|
| 562 |
submit_button = st.button("Translate")
|
| 563 |
+
translated_textarea = st.empty()
|
| 564 |
+
message_textarea = st.empty()
|
| 565 |
+
translated_textarea.text_area(":green[Translation:]", placeholder="Translation area", value='')
|
| 566 |
+
message_textarea.text_area(":blue[Messages:]", placeholder="Messages area", value='')
|
| 567 |
|
| 568 |
# Handle the submit button click
|
| 569 |
if submit_button:
|
|
|
|
| 620 |
# Display the translated text
|
| 621 |
print(translated_text)
|
| 622 |
message = f"Translated from {sselected_language} to {tselected_language} using {model_name}."
|
| 623 |
+
translated_textarea.text_area(":green[Translation:]", value=translated_text)
|
| 624 |
+
message_textarea.text_area(":blue[Message:]", value=message)
|
| 625 |
message = st.write(f"Translated text from {sselected_language} to {tselected_language} using {model_name}.")
|