File size: 1,942 Bytes
70b2fc9
4a448eb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
479646e
65935d6
4a448eb
65935d6
4a448eb
65935d6
 
 
4a448eb
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import streamlit as st
from backend_utils import app_init, set_q1, set_q2, set_q3, set_q4, set_q5

st.markdown("<center> <h1> Haystack Demo </h1> </center>", unsafe_allow_html=True)

if st.session_state.get('pipelines_loaded', False):
    with st.spinner('Loading pipelines...'):
        p1, p2, p3 = app_init()
        st.success('Pipelines are loaded', icon="✅")
        st.session_state['pipelines_loaded'] = True

placeholder = st.empty()
with placeholder:
    search_bar, button = st.columns([3, 1])
    with search_bar:
        username = st.text_area(f"", max_chars=200, key='query')

    with button:
        st.write("")
        st.write("")
        run_pressed = st.button("Run")

st.radio("Type", ("Retrieval Augmented", "Retrieval Augmented with Web Search"), key="query_type")

# st.sidebar.selectbox(
#      "Example Questions:",
#      QUERIES,
#      key='q_drop_down', on_change=set_question)

c1, c2, c3, c4, c5 = st.columns(5)
with c1:
    st.button('Example Q1', on_click=set_q1)
with c2:
    st.button('Example Q2', on_click=set_q2)
with c3:
    st.button('Example Q3', on_click=set_q3)
with c4:
    st.button('Example Q4', on_click=set_q4)
with c5:
    st.button('Example Q5', on_click=set_q5)

st.markdown("<h4> Answer with PLAIN GPT </h4>", unsafe_allow_html=True)
placeholder_plain_gpt = st.empty()
st.text("")
st.text("")
st.markdown(f"<h4> Answer with {st.session_state['query_type'].upper()} </h4>", unsafe_allow_html=True)
placeholder_retrieval_augmented = st.empty()

if st.session_state.get('query') and run_pressed:
    input = st.session_state['query']
    p1, p2, p3 = app_init()
    answers = p1.run(input)
    placeholder_plain_gpt.markdown(answers['results'][0])

    if st.session_state.get("query_type", "Retrieval Augmented") == "Retrieval Augmented":
        answers_2 = p2.run(input)
    else:
        answers_2 = p3.run(input)
    placeholder_retrieval_augmented.markdown(answers_2['results'][0])