Spaces:
Runtime error
Runtime error
import streamlit as st | |
from QA_Bot import QA_Bot | |
from PDF_Reader import PDF_4_QA | |
from PIL import Image | |
import cProfile | |
import pstats | |
from io import StringIO | |
import time | |
def print_time(start, end): | |
# Initialize chat history | |
if "messages" not in st.session_state: | |
st.session_state.messages = [] | |
st.session_state.messages.append({"role": "assistant", "content": f"Execution time: {end - start} seconds"}) | |
# Streamlit app | |
def main(): | |
# Page icon | |
icon = Image.open('td-logo.png') | |
# Page config | |
st.set_page_config(page_title="Q&A ChatBot", | |
page_icon=icon, | |
layout="wide" | |
) | |
company_logo_path = 'td-logo.png' | |
st.sidebar.image(company_logo_path, width=50) | |
st.sidebar.title("Upload PDF") | |
st.sidebar.write("Download Demo PDF file from Below....") | |
with open("Kia_EV6.pdf", "rb") as file: | |
btn = st.sidebar.download_button( | |
label="Download PDF", | |
data=file, | |
file_name="Kia_EV6.pdf" | |
) | |
uploaded_file = st.sidebar.file_uploader("Choose a PDF file", type="pdf") | |
if uploaded_file is not None: | |
# profiler = cProfile.Profile() | |
# profiler.enable() | |
st.sidebar.success("File uploaded successfully.") | |
start_time = time.time() | |
vector_store = PDF_4_QA(uploaded_file) | |
end_time = time.time() | |
print_time(start_time, end_time) | |
start_time = time.time() | |
QA_Bot(vector_store) | |
end_time = time.time() | |
print_time(start_time, end_time) | |
# profiler.disable() | |
# s = StringIO() | |
# ps = pstats.Stats(profiler, stream=s).sort_stats('cumulative') | |
# Print the profiling results to the StringIO object | |
# ps.print_stats() | |
# Get the profiling results as a string | |
# profiling_results = s.getvalue() | |
# Print the profiling results | |
# st.session_state.messages.append({"role": "assistant", "content": profiling_results}) | |
if __name__ == '__main__': | |
main() | |