speedy_sum / app.py
joermd's picture
Update app.py
fea6bf0 verified
from transformers import pipeline
import streamlit as st
# Load pre-trained BART model for summarization
summarizer = pipeline("summarization", model="ranwakhaled/fine-tuned-T5-for-Arabic-summarization")
# Summarization function
def summarize_text(text, max_length=150):
"""
Summarizes the given text using the pre-trained BART model.
Args:
- text (str): The input text to be summarized.
- max_length (int): Maximum length of the summary.
Returns:
- summary_text (str): The summarized text.
"""
summary = summarizer(text, max_length=max_length, min_length=50, do_sample=False)
return summary[0]['summary_text']
# Streamlit UI
def run_streamlit_app():
"""
This function runs the Streamlit app for text summarization.
"""
st.title("Text Summarizer")
st.write("Enter your article and document below to get a summary.")
# Text input field for user
input_text = st.text_area("Enter the Text", height=220)
# Button to generate summary
if st.button("Summarize"):
if input_text.strip():
with st.spinner('Summarizing...'):
summary = summarize_text(input_text)
st.subheader("Summary:")
st.write(summary)
else:
st.warning("Please enter some text to summarize.")
# If this script is being run locally or in an environment where Streamlit is supported,
# this block will start the Streamlit app
if __name__ == "__main__":
run_streamlit_app()