Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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)
|