Summarization / app.py
ashirhashmi's picture
Update app.py
0a909f3 verified
import streamlit as st
import torch
from transformers import pipeline
from transformers import BartTokenizer, BartForConditionalGeneration
# Replace with your Hugging Face model repository path
model_repo_path = 'ASaboor/Bart_samsum'
# Load the model and tokenizer
model = BartForConditionalGeneration.from_pretrained(model_repo_path)
tokenizer = BartTokenizer.from_pretrained(model_repo_path)
# Initialize the summarization pipeline
summarizer = pipeline('summarization', model=model, tokenizer=tokenizer)
# Streamlit app layout
st.set_page_config(page_title="Text Summarization App", page_icon=":memo:", layout="wide")
st.title("Text Summarization App")
st.write("""
This app uses a fine-tuned BART model to generate summaries of your input text.
Enter the text you want to summarize in the box below and click "Summarize" to see the result.
""")
# Main layout
placeholder_text = ("It has been shown that vehicles contribute significantly to pollution levels and have a considerable impact on respiratory health, "
"particularly for those aged over fifty. Factories have also been shown to be significant contributors, with those living closest to "
"unfiltered petrochemical factories being the most at risk. Finally, one uncommonly considered polluter was also explored. This was the use "
"of volatile organic compounds (VOCs) in commercial paints which have a tendency to negatively affect the health of people in their own homes.")
# User input
st.subheader("Input Text")
text_input = st.text_area("Enter text to summarize", height=300, placeholder=placeholder_text)
# Summarize the text
if st.button("Summarize"):
if text_input:
with st.spinner("Generating summary..."):
try:
# Generate summary
summary = summarizer(text_input, max_length=150, min_length=30, do_sample=False)
# Display summary
st.subheader("Summary")
st.write(summary[0]['summary_text'])
except Exception as e:
st.error(f"An error occurred during summarization: {e}")
else:
st.warning("Please enter some text to summarize.")