rag-chat / pages /1_Upload.py
tokensandcharms's picture
Enhance .gitignore and improve app.py functionality. Added additional file types to .gitignore for better exclusion. Updated app.py to manage upload progress with Streamlit session state, improved UI layout, and added documentation for user guidance.
7211b51
import streamlit as st
from app import process_upload, clear_database
st.title("Upload PDFs")
st.header("Upload")
# PDF upload
uploaded_file = st.file_uploader("Choose a PDF file", type="pdf")
if st.button("Process All"):
if 'upload_progress' not in st.session_state:
st.session_state.upload_progress = st.progress(0)
with st.spinner("Processing uploads..."):
results = []
if uploaded_file:
pdf_result = process_upload("PDF", uploaded_file, uploaded_file.name)
results.append(pdf_result)
if results:
for result in results:
st.success(result)
else:
st.warning("No content uploaded. Please provide at least one input.")
# Check if the progress bar exists before trying to empty it
if hasattr(st.session_state, 'upload_progress'):
st.session_state.upload_progress.empty()
del st.session_state.upload_progress # Clean up state
if st.button("Clear Database"):
result = clear_database()
st.success(result)