Spaces:
Runtime error
Runtime error
import streamlit as st | |
from api_call_module import get_answer | |
processes = ["Praksa", "Izrada završnog rada"] | |
file_name = "ans.txt" | |
# Read answers from ans.txt | |
answers = [] | |
try: | |
answers = [line.replace("\n", "") for line in open(file_name, "r")] | |
except FileNotFoundError: | |
open(file_name, "w") | |
# Save the answer to ans.txt | |
def save_answer(answer: str) -> None: | |
f = open(file_name, "a") | |
f.write(f"{answer}\n") | |
f.close() | |
# Submits the query and saves the answer | |
def submit_query() -> None: | |
if query == "": | |
return | |
ans = get_answer(query, process) | |
save_answer("A: " + ans) | |
save_answer("Q: " + query) | |
save_answer("**Question {}**") | |
save_answer("") | |
# Clears the chat | |
def clear() -> None: | |
open(file_name, 'w').close() | |
pass | |
# Sidebar | |
with st.sidebar: | |
st.title("Set up your chatbot!") | |
process = st.selectbox("Select a process", processes) | |
st.caption("You can find this chatbot implementation [here](https://huggingface.co/spaces/rkrstacic/" | |
"Software-module-for-answering-questions-on-processes/tree/main)") | |
# Main | |
st.title("Welcome to the process answering chatbot!") | |
query = st.text_input("Ask me a question", placeholder="e.g. Koliko traje proces praksa?") | |
# Buttons | |
col1, col2 = st.columns([6, 1]) | |
col1.button("Send", on_click=submit_query) | |
col2.button("Clear chat", on_click=clear) | |
with st.expander("Chat History", expanded=True): | |
for index, ans in enumerate(answers[::-1]): | |
st.write(ans if index % 4 != 1 else ans.format((len(answers) - index) // 4 + 1)) | |