diff --git a/requirements.txt b/requirements.txt index 956cfb66..8ee2b256 100644 --- a/requirements.txt +++ b/requirements.txt @@ -39,4 +39,4 @@ websockets==13.0.1 torch==2.3.0 ultralytics==8.3.3 diffusers==0.30.3 -transformers==4.42.4 +transformers==4.45.2 diff --git a/src/apps/pages/models/ChatBotModels/TextSummarizationModel/textSummarizationModel.py b/src/apps/pages/models/ChatBotModels/TextSummarizationModel/textSummarizationModel.py new file mode 100644 index 00000000..b5a9784e --- /dev/null +++ b/src/apps/pages/models/ChatBotModels/TextSummarizationModel/textSummarizationModel.py @@ -0,0 +1,32 @@ +import streamlit as st +from transformers import pipeline + +def textSummarizationModel(): + # Title of the web app + st.title("Text Summarization Tool") + + # Load the summarization model + @st.cache_resource(show_spinner=True) # Cache the model loading for faster performance + def load_summarizer(): + return pipeline("summarization", model="t5-small") + + summarizer = load_summarizer() + + # Instructions for users + st.write("Enter the text you'd like to summarize (minimum 50 words).") + + # Create a text area for the user to input text + user_input = st.text_area("Input Text", height=200) + + # A button to initiate the summarization process + if st.button("Summarize"): + if len(user_input.split()) < 50: + st.warning("Please enter at least 50 words for summarization.") + else: + # Show a spinner while the summarization is being processed + with st.spinner("Summarizing..."): + # Generate the summary + summary = summarizer(user_input, max_length=150, min_length=30, do_sample=False) + # Display the summarized text + st.subheader("Summary:") + st.write(summary[0]['summary_text']) \ No newline at end of file