Spaces:
Runtime error
Runtime error
import streamlit as st | |
from transformers import pipeline | |
from huggingface_hub import login | |
from dotenv import load_dotenv | |
import os | |
# Load the environment variables from the .env file | |
load_dotenv() | |
# Retrieve the token from the .env file | |
huggingface_token = os.getenv("HUGGINGFACE_TOKEN") | |
# Log in using the retrieved token | |
login(token=huggingface_token) | |
# Available models for summarization | |
models = { | |
"T5_Full_FineTune_V0.1_40K": "ARSynopsis/T5_Full_FineTune_V0.1_40K", | |
"T5_Full_FineTune_V0.1_80K": "ARSynopsis/T5_Full_FineTune_V0.1_80K", | |
"BART_Base_Full_FineTune_V0.1_83K": "ARSynopsis/BART_Base_Full_FineTune_V0.1_83K", | |
"LongT5": "google/long-t5-local-base", | |
"Pegasus": "google/pegasus-xsum" | |
} | |
# Function to count words in the input text | |
def count_words(text): | |
return len(text.split()) | |
# Streamlit app layout | |
st.title("Summarization with Multiple Models") | |
# Dropdown to select the model (bolded) | |
st.markdown("### **Select a model for summarization**") | |
model_choice = st.selectbox("", models.keys()) | |
# Text area for input (bolded) | |
st.markdown("### **Enter the long text you want to summarize**") | |
input_text = st.text_area("", height=300) | |
# Button to generate the summary | |
if st.button("Generate Summary"): | |
# Show a spinner while generating the summary | |
with st.spinner("Generating summary, please wait..."): | |
# Load the selected model and summarizer pipeline | |
summarizer = pipeline("summarization", model=models[model_choice]) | |
# Log the model choice | |
st.write(f"Using model: **{model_choice}** for summarization.") | |
# Count and log the number of words in the input text | |
word_count = count_words(input_text) | |
st.write(f"Number of words in input: **{word_count}**") | |
if input_text: | |
# Generate the summary | |
summary = summarizer(input_text, max_length=350, min_length=30, do_sample=False) | |
# Log the success message | |
st.success("Summary generated successfully!") | |
# Display the summary | |
st.subheader("Generated Summary") | |
st.write(summary[0]['summary_text']) | |
else: | |
st.warning("Please enter text to summarize!") | |
# Optionally, you can add a footer or additional instructions | |
st.markdown("---") | |
st.write("Provide a long text and select a model to see the summarization in action!") | |