|
|
|
from annotated_text import annotation |
|
from json import JSONDecodeError |
|
import logging |
|
from markdown import markdown |
|
import requests |
|
|
|
import streamlit as st |
|
|
|
from utils.haystack import query, start_haystack |
|
from utils.ui import reset_results, set_initial_state, sidebar |
|
|
|
set_initial_state() |
|
|
|
sidebar() |
|
|
|
st.write("# π Ask Me Anything") |
|
|
|
st.session_state["api_key_configured"] = True |
|
|
|
st.caption("Example 1 - I see negative comments for my number! they're lies, how do I remove them?") |
|
st.caption("Example 2 - I'm free user and i see there is a Mr. Number Premium thing. What do I get?") |
|
st.caption("Example 3 - It doesn't work on Android. The app is not blocking calls!!!") |
|
prompt = st.text_input("Your question", on_change=reset_results) |
|
|
|
st.write("") |
|
st.write("") |
|
run_pressed = st.button("Ask") |
|
|
|
if st.session_state.get("api_key_configured"): |
|
|
|
if run_pressed and prompt: |
|
reset_results() |
|
st.session_state.prompt = prompt |
|
print(prompt) |
|
|
|
with st.spinner("π"): |
|
try: |
|
st.session_state.result = query(prompt, start_haystack(st.session_state.get("COHERE_API_KEY"))) |
|
except JSONDecodeError as je: |
|
st.error( |
|
"π Something went wrong! Database failure." |
|
) |
|
except Exception as e: |
|
logging.exception(e) |
|
st.error("π An error occurred during the request.") |
|
|
|
if st.session_state.result: |
|
llm = st.session_state.result |
|
st.write(llm) |
|
|