mehradans92 commited on
Commit
6cbbc77
Β·
1 Parent(s): 053d913

added suggested number of words slide bar

Browse files
Files changed (1) hide show
  1. app.py +40 -12
app.py CHANGED
@@ -34,11 +34,8 @@ if len(api_key) != 51:
34
 
35
  max_results_current = 5
36
  max_results = max_results_current
37
- def search_click_callback(search_query, max_results):
38
  global pdf_info, pdf_citation
39
- # pdf_info, pdf_citation = call_arXiv_API(f'{search_query}', max_results=max_results)
40
- # download_pdf(pdf_info)
41
- XRxiv_servers = ['rxiv']
42
  search_engines = XRxivQuery(search_query, max_results, XRxiv_servers=XRxiv_servers)
43
  pdf_info = search_engines.call_API()
44
  search_engines.download_pdf()
@@ -46,7 +43,7 @@ def search_click_callback(search_query, max_results):
46
  return pdf_info
47
 
48
  with st.form(key='columns_in_form', clear_on_submit = False):
49
- c1, c2 = st.columns([8,1])
50
  with c1:
51
  search_query = st.text_input("Input search query here:", placeholder='Keywords for most relevant search...', value='CFD Modeling'
52
  )#search_query, max_results_current))
@@ -54,17 +51,40 @@ with st.form(key='columns_in_form', clear_on_submit = False):
54
  with c2:
55
  max_results = st.number_input("Max papers", value=max_results_current)
56
  max_results_current = max_results_current
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  searchButton = st.form_submit_button(label = 'Search')
58
 
59
  if searchButton:
 
 
 
 
 
 
 
 
 
 
60
  global pdf_info
61
- pdf_info = search_click_callback(search_query, max_results)
62
  if 'pdf_info' not in st.session_state:
63
  st.session_state.key = 'pdf_info'
64
  st.session_state['pdf_info'] = pdf_info
65
 
66
 
67
- def answer_callback(question_query):
68
  import paperqa
69
  global docs
70
  if docs is None:
@@ -76,21 +96,29 @@ def answer_callback(question_query):
76
  for d, c in zip(pdf_paths, pdf_citations):
77
  docs.add(d, c)
78
  docs._build_faiss_index()
79
- answer = docs.query(question_query)
80
  st.success('Voila! πŸ˜ƒ')
81
  return answer.formatted_answer
82
 
83
- form = st.form(key='question_form')
84
- question_query = form.text_input("What do you wanna know from these papers?", placeholder='Input questions here...',
 
 
85
  value='Write about CFD modeling')
86
- submitButton = form.form_submit_button('Submit')
 
 
 
 
 
87
 
88
  if submitButton:
89
  with st.expander("Found papers:", expanded=True):
90
  st.write(f"{st.session_state['all_reference_text']}")
91
  with st.spinner('⏳ Please wait...'):
92
  start = time.time()
93
- final_answer = answer_callback(question_query)
 
94
  length_answer = len(final_answer)
95
  st.text_area("Answer:", final_answer, height=max(length_answer//4, 100))
96
  end = time.time()
 
34
 
35
  max_results_current = 5
36
  max_results = max_results_current
37
+ def search_click_callback(search_query, max_results, XRxiv_servers=[]):
38
  global pdf_info, pdf_citation
 
 
 
39
  search_engines = XRxivQuery(search_query, max_results, XRxiv_servers=XRxiv_servers)
40
  pdf_info = search_engines.call_API()
41
  search_engines.download_pdf()
 
43
  return pdf_info
44
 
45
  with st.form(key='columns_in_form', clear_on_submit = False):
46
+ c1, c2, c3 = st.columns([6, 0.6, 3])
47
  with c1:
48
  search_query = st.text_input("Input search query here:", placeholder='Keywords for most relevant search...', value='CFD Modeling'
49
  )#search_query, max_results_current))
 
51
  with c2:
52
  max_results = st.number_input("Max papers", value=max_results_current)
53
  max_results_current = max_results_current
54
+ with c3:
55
+ with st.container():
56
+ st.markdown('Pre-print server')
57
+ checks = st.columns(4)
58
+ with checks[0]:
59
+ ArXiv_check = st.checkbox('ArXiv')
60
+ with checks[1]:
61
+ ChemArXiv_check = st.checkbox('ChemArXiv')
62
+ with checks[2]:
63
+ BioArXiv_check = st.checkbox('BioArXiv')
64
+ with checks[3]:
65
+ MedrXiv_check = st.checkbox('MedrXiv')
66
+
67
  searchButton = st.form_submit_button(label = 'Search')
68
 
69
  if searchButton:
70
+ # checking which pre-print servers selected
71
+ XRxiv_servers = []
72
+ if ArXiv_check:
73
+ XRxiv_servers.append('rxiv')
74
+ if ChemArXiv_check:
75
+ XRxiv_servers.append('chemrxiv')
76
+ if BioArXiv_check:
77
+ XRxiv_servers.append('biorxiv')
78
+ if MedrXiv_check:
79
+ XRxiv_servers.append('medrxiv')
80
  global pdf_info
81
+ pdf_info = search_click_callback(search_query, max_results, XRxiv_servers=XRxiv_servers)
82
  if 'pdf_info' not in st.session_state:
83
  st.session_state.key = 'pdf_info'
84
  st.session_state['pdf_info'] = pdf_info
85
 
86
 
87
+ def answer_callback(question_query, word_count):
88
  import paperqa
89
  global docs
90
  if docs is None:
 
96
  for d, c in zip(pdf_paths, pdf_citations):
97
  docs.add(d, c)
98
  docs._build_faiss_index()
99
+ answer = docs.query(question_query, length_prompt=f'use {word_count:d} words')
100
  st.success('Voila! πŸ˜ƒ')
101
  return answer.formatted_answer
102
 
103
+ with st.form(key='question_form', clear_on_submit = False):
104
+ c1, c2 = st.columns([6, 2])
105
+ with c1:
106
+ question_query = st.text_input("What do you wanna know from these papers?", placeholder='Input questions here...',
107
  value='Write about CFD modeling')
108
+ # search_query = st.text_input("Input search query here:", placeholder='Keywords for most relevant search...', value='CFD Modeling'
109
+ # )#search_query, max_results_current))
110
+
111
+ with c2:
112
+ word_count = st.slider("Suggested number of words in your answer?", 30, 300, 100)
113
+ submitButton = st.form_submit_button('Submit')
114
 
115
  if submitButton:
116
  with st.expander("Found papers:", expanded=True):
117
  st.write(f"{st.session_state['all_reference_text']}")
118
  with st.spinner('⏳ Please wait...'):
119
  start = time.time()
120
+ print(word_count)
121
+ final_answer = answer_callback(question_query, word_count)
122
  length_answer = len(final_answer)
123
  st.text_area("Answer:", final_answer, height=max(length_answer//4, 100))
124
  end = time.time()