nan-motherboard
final
fa77629
import streamlit as st
from utils import generate_summary
# Initialize session state variables
if "clicked" not in st.session_state:
st.session_state.clicked = False
if "input_text" not in st.session_state:
st.session_state.input_text = ""
if "generated_summary" not in st.session_state:
st.session_state.generated_summary = ""
st.title("Dialogue Text Summarization")
st.write("---")
height = 200
# Text area with session state
input_text = st.text_area("Dialogue", height=height, key="input_text")
# Submit button logic
if st.button("Submit"):
if st.session_state.input_text.strip() == "":
st.error("Please enter a dialogue!")
else:
st.write("---")
st.write("## Summary")
st_container = st.empty()
st_info_container = st.empty()
# Generate summary and store it in session state
st.session_state.generated_summary = generate_summary(
" ".join(st.session_state.input_text.split()),
st_container,
st_info_container
)
# Display the generated summary
if st.session_state.generated_summary:
st.write(st.session_state.generated_summary)
# Clear button logic
def clear_all():
st.session_state.clicked = True
st.session_state.input_text = "" # Clear input text
st.session_state.generated_summary = "" # Clear summary
st.button("Clear", on_click=clear_all)
# Logic for clearing display
if st.session_state.clicked:
st.session_state.clicked = False
st.experimental_rerun()