ChatPDF / front_end.py
Yashnik's picture
Update front_end.py
9582a8b verified
import streamlit as st
import requests
st.set_page_config(page_title="ChatPDF", page_icon="πŸ“„")
st.title("πŸ“„ ChatPDF")
uploaded_file = st.file_uploader("Upload a PDF file", type="pdf")
if 'pdf_processed' not in st.session_state:
st.session_state['pdf_processed'] = False
if uploaded_file is not None and not st.session_state['pdf_processed']:
upload_file = {'file': uploaded_file}
response = requests.post(url='http://127.0.0.1:8000/upload_pdf', files=upload_file)
if response.status_code == 200:
st.session_state['pdf_processed'] = True
st.write("PDF processed and vectors upserted!")
else:
st.write("Failed to process PDF")
if st.session_state['pdf_processed']:
st.title("πŸ€– Ask a Question about the PDF Content")
add_selectbox = st.sidebar.selectbox("Select Model", ("Default", "deepset/roberta-base-squad2", "llama"))
question = st.text_input("Ask a question about the PDF content:")
if question:
url = f"http://127.0.0.1:8000/ask_question/?question={question}&model={add_selectbox}"
response = requests.post(url)
if response.status_code == 200:
st.write(response.json()['answer'])
else:
st.write("Failed to get an answer")