File size: 1,256 Bytes
9582a8b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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")