Text-Summarize / app.py
amirgame197's picture
Upload 2 files
2eaff1d verified
raw
history blame
2.02 kB
import streamlit as st
from txtai.pipeline import Summary, Textractor
from PyPDF2 import PdfReader
st.set_page_config(layout="wide")
@st.cache_resource
def text_summary(text, maxlength=None):
#create summary instance
summary = Summary()
text = (text)
result = summary(text)
return result
def extract_text_from_pdf(file_path):
# Open the PDF file using PyPDF2
with open(file_path, "rb") as f:
reader = PdfReader(f)
page = reader.pages[0]
text = page.extract_text()
return text
choice = st.sidebar.selectbox("Select your choice", ["Summarize Text", "Summarize Document"])
if choice == "Summarize Text":
st.subheader("Summarize Text using txtai")
input_text = st.text_area("Enter your text here")
if input_text is not None:
if st.button("Summarize Text"):
col1, col2 = st.columns([1,1])
with col1:
st.markdown("**Your Input Text**")
st.info(input_text)
with col2:
st.markdown("**Summary Result**")
result = text_summary(input_text)
st.success(result)
elif choice == "Summarize Document":
st.subheader("Summarize Document using txtai")
input_file = st.file_uploader("Upload your document here", type=['pdf'])
if input_file is not None:
if st.button("Summarize Document"):
with open("doc_file.pdf", "wb") as f:
f.write(input_file.getbuffer())
col1, col2 = st.columns([1,1])
with col1:
st.info("File uploaded successfully")
extracted_text = extract_text_from_pdf("doc_file.pdf")
st.markdown("**Extracted Text is Below:**")
st.info(extracted_text)
with col2:
st.markdown("**Summary Result**")
text = extract_text_from_pdf("doc_file.pdf")
doc_summary = text_summary(text)
st.success(doc_summary)