|
import streamlit as st |
|
from transformers import T5Tokenizer, T5ForConditionalGeneration |
|
|
|
|
|
|
|
|
|
st.title("Text Translation") |
|
input_text = st.text_input("Enter text to translate:") |
|
|
|
options = ["English", "Romanian", "German", "French", "Spanish"] |
|
models = ["t5-base", "t5-small", "opus-mt-en-ro"] |
|
|
|
sselected_language = st.selectbox("Select a source language:", options) |
|
tselected_language = st.selectbox("Select a target language:", options) |
|
model_name = st.selectbox("Select a model:", models) |
|
|
|
st.session_state["sselected_language"] = sselected_language |
|
st.session_state["tselected_language"] = tselected_language |
|
st.session_state["model_name"] = model_name |
|
tokenizer = T5Tokenizer.from_pretrained(model_name) |
|
model = T5ForConditionalGeneration.from_pretrained(model_name) |
|
st.write("Selected language combination:", sselected_language, " - ", tselected_language, "Selected model:", model_name) |
|
submit_button = st.button("Translate") |
|
translated_textarea = st.text("") |
|
|
|
|
|
if submit_button: |
|
input_ids = tokenizer.encode(f'translate {sselected_language} to {tselected_language}: {input_text}', return_tensors='pt') |
|
|
|
output_ids = model.generate(input_ids) |
|
|
|
translated_text = tokenizer.decode(output_ids[0], skip_special_tokens=True) |
|
|
|
st.write(f"Translated text from {sselected_language} to {tselected_language}:", translated_text) |