File size: 4,360 Bytes
cd39c4a
61cffc1
 
 
cd39c4a
61cffc1
cd39c4a
61cffc1
cd39c4a
 
 
 
 
61cffc1
cd39c4a
61cffc1
 
31211be
 
 
 
 
 
 
 
 
 
61cffc1
31211be
 
 
 
 
 
 
 
 
 
 
 
 
 
61cffc1
 
31211be
 
 
 
 
 
 
 
61cffc1
 
31211be
 
 
 
 
 
 
 
 
 
61cffc1
 
31211be
 
 
 
 
 
 
 
 
 
 
 
61cffc1
31211be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cd39c4a
 
 
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import streamlit as st
from search_core import make_search_index, make_search_index_qa, search_query_all, answer_question
import pandas as pd
import json

# Setting page layout
st.set_page_config(
    page_title="Поиск по публикации/вопросы-ответы",
    page_icon="🤖",
    layout="wide",
    initial_sidebar_state="expanded"
)
# Main page heading
#st.title("Поиск изображений Google Open Images по текстовому запросу")

searchStarted= False
qaStarted= False

LANGUAGE= 'language'
if LANGUAGE not in st.session_state:
    st.session_state[LANGUAGE]= 'Русский'
    
if "visibility" not in st.session_state:
    st.session_state.visibility = "visible"
    st.session_state.disabled = False
    st.session_state.horizontal = True

with st.sidebar:
    st.session_state[LANGUAGE]= st.sidebar.radio(
            "Язык/Language",
            ["Русский", "English"],
            key="Русский",
            label_visibility=st.session_state.visibility,
            disabled=st.session_state.disabled,
            horizontal=st.session_state.horizontal,
        )
    if st.session_state[LANGUAGE]== 'Русский':    
        st.sidebar.subheader('Демо-публикация: "Урал 44202-80М", 74 модуля данных, русский язык')
        tab1, tab2 = st.sidebar.tabs(["Поиск по публикации", "Вопросы-ответы"])
    else:
        st.sidebar.subheader('Publication asset: "S1000D release 5.0 bike example", 101 data module, english language')
        tab1, tab2 = st.sidebar.tabs(["Indexed search", "Question answering"])

with tab1:
    if st.session_state[LANGUAGE]== 'Русский':
        st.header("Поиск по публикации")
        search_input = st.text_input(label='Введите запрос:', value='аккумуляторная батарея')
        searchStarted = st.button('Искать')
    else:
        st.header("Publication content search")
        search_input = st.text_input(label='Enter query:', value='bicycle wheel')
        searchStarted = st.button('Search')

with tab2:
    if st.session_state[LANGUAGE]== 'Русский':
        st.header("Вопросы-ответы")
        qa_input = st.text_input(label='Введите вопрос:', value='Какой ресурс до первого ремонта?')
        #qa_input = st.text_input(label='Введите вопрос:', value='Что входит в состав системы предпускового подогрева?')
        #qa_input = st.text_input(label='Введите вопрос:', value='Для чего нужен нагреватель с нагнетателем воздуха?')
        qaStarted = st.button('Узнать ответ')
    else:
        st.header("Question answering")
        qa_input = st.text_input(label='Enter question:', value='How many brake pads on the bicycle?')
        qaStarted = st.button('Find out')
 
if searchStarted==True:
    if st.session_state[LANGUAGE]== 'Русский':
        st.header("Результаты поиска")
        search_result= search_query_all(search_input, language="ru")
        df = pd.DataFrame(pd.json_normalize(search_result))
        df.columns=['Параграф модуля данных', 'Код МД']
        st.table(df) 
    else:
        st.header("Search results")
        search_result= search_query_all(search_input, language="en")
        df = pd.DataFrame(pd.json_normalize(search_result))
        df.columns=['Data module paragraph', 'Data module code']
        st.table(df) 
if qaStarted==True:
    if st.session_state[LANGUAGE]== 'Русский':
        st.header("Ответ")
        mode_string = 'strict'
        model_string = '1'
        answer= answer_question(qa_input, mode_string, model_string, language="ru")
        df = pd.DataFrame(pd.json_normalize(answer))
        df.columns=['Уверенность', 'Ответ', 'Код МД']
        st.table(df)    
    else:
        st.header("Answer")
        mode_string = 'strict'
        model_string = '1'
        answer= answer_question(qa_input, mode_string, model_string, language="en")
        df = pd.DataFrame(pd.json_normalize(answer))
        df.columns=['Score', 'Answer', 'Data module code']
        st.table(df)