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")