Spaces:
Sleeping
Sleeping
File size: 1,308 Bytes
abf3abd |
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 |
import streamlit as st
import requests
backend_url = "http://0.0.0.0:7860"
st.header('fiXit Assignment', divider='orange')
st.header('Document-based QA Chatbot')
if 'uploadFlag' not in st.session_state:
upload = st.file_uploader("Upload a DOCX file", type="docx")
if upload:
files = {'file': upload.getvalue()}
response = requests.post(f"{backend_url}/uploaddoc", files=files)
if response.status_code == 200:
st.success("Document uploaded sucessfully")
st.session_state.uploadFlag = True
if 'uploadFlag' in st.session_state:
if 'chat_history' not in st.session_state:
st.session_state.chat_history = []
question = st.text_input("Enter your question/query: ")
if question:
response = requests.post(f"{backend_url}/question", json={"question": question})
if response.status_code == 200:
answer = response.json().get("answer")
st.session_state.chat_history.append(("user", question))
st.session_state.chat_history.append(("assistant", answer))
else:
st.error("Failed to get an answer from the backend.")
for role, message in st.session_state.chat_history:
with st.chat_message(role):
st.markdown(message) |