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.")