cakiki commited on
Commit
d6cb72b
·
1 Parent(s): 30e2235

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -15
app.py CHANGED
@@ -31,18 +31,19 @@ def format_results(results):
31
  return "\n".join([result_html(result, meta) for result,meta in zip(results[TEXT_FIELD], results[METADATA_FIELD])])
32
 
33
  def page_0(query):
 
34
  query = tokenize_sentence(query)
35
  hits = searcher.search(query, k=NUM_PAGES*RESULTS_PER_PAGE)
36
  ix = [int(hit.docid) for hit in hits]
37
  results = ds.select(ix).shard(num_shards=NUM_PAGES, index=0, contiguous=True) # no need to shard. split ix in batches instead. (would make sense if results was cacheable)
38
  results = format_results(results)
39
- return results, [ix], gr.update(visible=True)
40
 
41
- def page_i(i, ix):
42
  ix = ix[0]
43
  results = ds.select(ix).shard(num_shards=NUM_PAGES, index=i, contiguous=True)
44
  results = format_results(results)
45
- return results, [ix]
46
 
47
  with gr.Blocks(css="#b {min-width:15px;background:transparent;border:white;box-shadow:none;}") as demo: #
48
  with gr.Row():
@@ -80,18 +81,18 @@ with gr.Blocks(css="#b {min-width:15px;background:transparent;border:white;box-s
80
  # right = gr.Button(value="▶", elem_id="b", visible=False).style(full_width=True)
81
  with gr.Column(scale=1):
82
  pass
83
- query.submit(fn=page_0, inputs=[query], outputs=[c, result_list, pagination])
84
- submit_btn.click(page_0, inputs=[query], outputs=[c, result_list, pagination])
85
  with gr.Box(visible=False):
86
  nums = [gr.Number(i, visible=False, precision=0) for i in range(NUM_PAGES)]
87
- page_1.click(fn=page_i, inputs=[nums[0], result_list], outputs=[c, result_list])
88
- page_2.click(fn=page_i, inputs=[nums[1], result_list], outputs=[c, result_list])
89
- page_3.click(fn=page_i, inputs=[nums[2], result_list], outputs=[c, result_list])
90
- page_4.click(fn=page_i, inputs=[nums[3], result_list], outputs=[c, result_list])
91
- page_5.click(fn=page_i, inputs=[nums[4], result_list], outputs=[c, result_list])
92
- page_6.click(fn=page_i, inputs=[nums[5], result_list], outputs=[c, result_list])
93
- page_7.click(fn=page_i, inputs=[nums[6], result_list], outputs=[c, result_list])
94
- page_8.click(fn=page_i, inputs=[nums[7], result_list], outputs=[c, result_list])
95
- page_9.click(fn=page_i, inputs=[nums[8], result_list], outputs=[c, result_list])
96
- page_10.click(fn=page_i, inputs=[nums[9], result_list], outputs=[c, result_list])
97
  demo.launch(enable_queue=True, debug=True)
 
31
  return "\n".join([result_html(result, meta) for result,meta in zip(results[TEXT_FIELD], results[METADATA_FIELD])])
32
 
33
  def page_0(query):
34
+ untokenized_query = query
35
  query = tokenize_sentence(query)
36
  hits = searcher.search(query, k=NUM_PAGES*RESULTS_PER_PAGE)
37
  ix = [int(hit.docid) for hit in hits]
38
  results = ds.select(ix).shard(num_shards=NUM_PAGES, index=0, contiguous=True) # no need to shard. split ix in batches instead. (would make sense if results was cacheable)
39
  results = format_results(results)
40
+ return results, [ix], gr.update(visible=True), untokenized_query
41
 
42
+ def page_i(i, ix, query):
43
  ix = ix[0]
44
  results = ds.select(ix).shard(num_shards=NUM_PAGES, index=i, contiguous=True)
45
  results = format_results(results)
46
+ return results, [ix], query
47
 
48
  with gr.Blocks(css="#b {min-width:15px;background:transparent;border:white;box-shadow:none;}") as demo: #
49
  with gr.Row():
 
81
  # right = gr.Button(value="▶", elem_id="b", visible=False).style(full_width=True)
82
  with gr.Column(scale=1):
83
  pass
84
+ query.submit(fn=page_0, inputs=[query], outputs=[c, result_list, pagination, query])
85
+ submit_btn.click(page_0, inputs=[query], outputs=[c, result_list, pagination, query])
86
  with gr.Box(visible=False):
87
  nums = [gr.Number(i, visible=False, precision=0) for i in range(NUM_PAGES)]
88
+ page_1.click(fn=page_i, inputs=[nums[0], result_list, query], outputs=[c, result_list, query])
89
+ page_2.click(fn=page_i, inputs=[nums[1], result_list, query], outputs=[c, result_list, query])
90
+ page_3.click(fn=page_i, inputs=[nums[2], result_list, query], outputs=[c, result_list, query])
91
+ page_4.click(fn=page_i, inputs=[nums[3], result_list, query], outputs=[c, result_list, query])
92
+ page_5.click(fn=page_i, inputs=[nums[4], result_list, query], outputs=[c, result_list, query])
93
+ page_6.click(fn=page_i, inputs=[nums[5], result_list, query], outputs=[c, result_list, query])
94
+ page_7.click(fn=page_i, inputs=[nums[6], result_list, query], outputs=[c, result_list, query])
95
+ page_8.click(fn=page_i, inputs=[nums[7], result_list, query], outputs=[c, result_list, query])
96
+ page_9.click(fn=page_i, inputs=[nums[8], result_list, query], outputs=[c, result_list, query])
97
+ page_10.click(fn=page_i, inputs=[nums[9], result_list, query], outputs=[c, result_list, query])
98
  demo.launch(enable_queue=True, debug=True)