Samarth991's picture
Update app.py
e776846 verified
raw
history blame
1.71 kB
import os
import streamlit as st
from QA_Bot import QA_Bot
from PDF_Reader import PDF_4_QA
from PIL import Image
from pathlib import Path
# Streamlit app
def main():
st.session_state.disabled = False
st.session_state.visibility = "visible"
# Page config
st.set_page_config(page_title="Q&A ChatBot",
layout="wide"
)
st.sidebar.title("Upload PDF")
# st.sidebar.write("Download Demo PDF file from Below....")
# with open("docs/SamarthTandon_cv_2.pdf", "rb") as file:
# btn = st.sidebar.download_button(
# label="Download PDF",
# data=file,
# file_name="SamarthTandon_cv_2.pdf"
# )
uploaded_file = st.sidebar.file_uploader("Choose a PDF file", type="pdf")
api_input = st.sidebar.text_input(
"Enter The API KEY πŸ‘‡",
label_visibility=st.session_state.visibility,
disabled=st.session_state.disabled,
type="password")
if uploaded_file is not None and api_input is not "":
save_folder = 'docs/'
if not os.path.isdir(save_folder):
os.makedirs(save_folder)
save_path = Path(save_folder, uploaded_file.name)
print("Save Path :{} , API Input {} iss".format(save_path,api_input))
with open(save_path, mode='wb') as w:
w.write(uploaded_file.getvalue())
st.sidebar.success("File uploaded successfully",icon="βœ…")
vector_store , documents = PDF_4_QA(save_path)
st.sidebar.success("Vector database created successfully",icon="βœ…")
QA_Bot(vector_store,api_input,documents)
if __name__ == '__main__':
main()