Spaces:
Sleeping
Sleeping
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() | |