fast-answer / app.py
wop's picture
Update app.py
244d820 verified
raw
history blame
1.43 kB
import streamlit as st
import requests
import json
import time
# Load data.json
with open('data.json') as f:
data = json.load(f)
client_endpoint = "https://olivier-truong-mistral-super-fast.hf.space/chat"
def ask_question(question):
if question in data:
return data[question]
else:
response = requests.post(client_endpoint, json={"context": question})
if response.status_code == 200:
answer = response.json()['response']
data[question] = answer
with open('data.json', 'w') as f:
json.dump(data, f)
return answer
else:
return "Error: Failed to retrieve an answer."
def typewriter(text: str, speed: int):
tokens = text.split()
container = st.empty()
for index in range(len(tokens) + 1):
curr_full_text = " ".join(tokens[:index])
container.markdown(curr_full_text)
time.sleep(1 / speed)
def main():
st.title("Question Answering System")
question = st.text_input("Ask your question:")
if st.button("Ask"):
if question:
answer_placeholder = st.empty()
answer_placeholder.write("Thinking...")
answer = ask_question(question)
answer_placeholder.empty()
typewriter("Answer: " + answer, speed=10)
else:
st.write("Please enter a question.")
if __name__ == "__main__":
main()