Spaces:
Paused
Paused
temp fix
Browse files
app.py
CHANGED
|
@@ -133,7 +133,8 @@ def format_result(result, highlight_terms, exact_search, datasets_filter=None):
|
|
| 133 |
docid_html = get_docid_html(docid)
|
| 134 |
language = "FIXME"
|
| 135 |
result_html = """{}
|
| 136 |
-
<span style='font-size:14px; font-family: Arial; color:#7978FF; text-align: left;'>Document ID: {}</span
|
|
|
|
| 137 |
<!-- <span style='font-size:12px; font-family: Arial; color:MediumAquaMarine'>Language: {}</span><br> -->
|
| 138 |
<span style='font-family: Arial;'>{}</span><br>
|
| 139 |
<br>
|
|
@@ -169,6 +170,10 @@ def extract_results_from_payload(query, language, payload, exact_search):
|
|
| 169 |
num_results = payload["num_results"]
|
| 170 |
else:
|
| 171 |
highlight_terms = payload["highlight_terms"]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 172 |
|
| 173 |
for result in results:
|
| 174 |
text = result["text"]
|
|
@@ -287,20 +292,13 @@ if __name__ == "__main__":
|
|
| 287 |
label="Datasets Filter",
|
| 288 |
multiselect=True,
|
| 289 |
)
|
| 290 |
-
with gr.Row()
|
| 291 |
-
header_html = gr.HTML(label="Header")
|
| 292 |
-
|
|
|
|
|
|
|
| 293 |
with gr.Row(visible=False) as pagination:
|
| 294 |
next_page_btn = gr.Button("Next Page")
|
| 295 |
-
with gr.Column(visible=False) as flagging_form:
|
| 296 |
-
flag_txt = gr.Textbox(
|
| 297 |
-
lines=1,
|
| 298 |
-
placeholder="Type here...",
|
| 299 |
-
label="""If you choose to flag your search, we will save the query, language and the number of results
|
| 300 |
-
you requested. Please consider adding relevant additional context below:""",
|
| 301 |
-
)
|
| 302 |
-
flag_btn = gr.Button("Flag Results")
|
| 303 |
-
flag_btn.click(flag, inputs=[query, lang, k, flag_txt], outputs=[flag_txt])
|
| 304 |
|
| 305 |
def run_query(query, lang, k, dropdown_input, max_page_size, received_results):
|
| 306 |
query = query.strip()
|
|
@@ -346,7 +344,7 @@ if __name__ == "__main__":
|
|
| 346 |
num_results
|
| 347 |
)
|
| 348 |
# print("processed_results", processed_results)
|
| 349 |
-
|
| 350 |
processed_results, highlight_terms, num_results, exact_search
|
| 351 |
)
|
| 352 |
return (
|
|
@@ -354,7 +352,7 @@ if __name__ == "__main__":
|
|
| 354 |
highlight_terms,
|
| 355 |
num_results,
|
| 356 |
exact_search,
|
| 357 |
-
|
| 358 |
ds,
|
| 359 |
)
|
| 360 |
|
|
@@ -364,24 +362,24 @@ if __name__ == "__main__":
|
|
| 364 |
highlight_terms,
|
| 365 |
num_results,
|
| 366 |
exact_search,
|
| 367 |
-
|
| 368 |
datasets,
|
| 369 |
) = run_query(query, lang, k, dropdown_input, max_page_size, 0)
|
| 370 |
has_more_results = exact_search and (num_results > max_page_size)
|
| 371 |
-
return
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
|
| 385 |
|
| 386 |
def next_page(
|
| 387 |
query,
|
|
@@ -397,7 +395,7 @@ if __name__ == "__main__":
|
|
| 397 |
highlight_terms,
|
| 398 |
num_results,
|
| 399 |
exact_search,
|
| 400 |
-
|
| 401 |
datasets,
|
| 402 |
) = run_query(
|
| 403 |
query, lang, k, dropdown_input, max_page_size, received_results
|
|
@@ -407,22 +405,23 @@ if __name__ == "__main__":
|
|
| 407 |
print("num_processed_results", num_processed_results)
|
| 408 |
print("has_more_results", has_more_results)
|
| 409 |
print("received_results", received_results)
|
| 410 |
-
return
|
| 411 |
-
|
| 412 |
-
|
| 413 |
-
|
| 414 |
-
|
| 415 |
-
|
| 416 |
-
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
|
|
|
| 426 |
|
| 427 |
def filter_datasets(
|
| 428 |
lang,
|
|
@@ -432,14 +431,14 @@ if __name__ == "__main__":
|
|
| 432 |
exact_search,
|
| 433 |
datasets_filter,
|
| 434 |
):
|
| 435 |
-
|
| 436 |
processed_results,
|
| 437 |
highlight_terms,
|
| 438 |
num_results,
|
| 439 |
exact_search,
|
| 440 |
datasets_filter,
|
| 441 |
)
|
| 442 |
-
return
|
| 443 |
|
| 444 |
query.submit(
|
| 445 |
fn=submit,
|
|
@@ -449,13 +448,12 @@ if __name__ == "__main__":
|
|
| 449 |
highlight_terms_state,
|
| 450 |
num_results_state,
|
| 451 |
exact_search_state,
|
| 452 |
-
results_html,
|
| 453 |
-
flagging_form,
|
| 454 |
datasets_filter,
|
| 455 |
available_datasets,
|
| 456 |
pagination,
|
| 457 |
received_results_state,
|
| 458 |
-
]
|
|
|
|
| 459 |
)
|
| 460 |
submit_btn.click(
|
| 461 |
submit,
|
|
@@ -465,13 +463,12 @@ if __name__ == "__main__":
|
|
| 465 |
highlight_terms_state,
|
| 466 |
num_results_state,
|
| 467 |
exact_search_state,
|
| 468 |
-
results_html,
|
| 469 |
-
flagging_form,
|
| 470 |
datasets_filter,
|
| 471 |
available_datasets,
|
| 472 |
pagination,
|
| 473 |
received_results_state,
|
| 474 |
-
]
|
|
|
|
| 475 |
)
|
| 476 |
|
| 477 |
next_page_btn.click(
|
|
@@ -490,13 +487,12 @@ if __name__ == "__main__":
|
|
| 490 |
highlight_terms_state,
|
| 491 |
num_results_state,
|
| 492 |
exact_search_state,
|
| 493 |
-
results_html,
|
| 494 |
-
flagging_form,
|
| 495 |
datasets_filter,
|
| 496 |
available_datasets,
|
| 497 |
pagination,
|
| 498 |
received_results_state,
|
| 499 |
-
]
|
|
|
|
| 500 |
)
|
| 501 |
|
| 502 |
available_datasets.change(
|
|
@@ -509,6 +505,18 @@ if __name__ == "__main__":
|
|
| 509 |
exact_search_state,
|
| 510 |
available_datasets,
|
| 511 |
],
|
| 512 |
-
outputs=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 513 |
)
|
| 514 |
demo.launch(enable_queue=True, debug=True)
|
|
|
|
| 133 |
docid_html = get_docid_html(docid)
|
| 134 |
language = "FIXME"
|
| 135 |
result_html = """{}
|
| 136 |
+
<span style='font-size:14px; font-family: Arial; color:#7978FF; text-align: left;'>Document ID: {}</span>
|
| 137 |
+
<button type="button" onclick="alert('Hello world!')">Flag result</button><br>
|
| 138 |
<!-- <span style='font-size:12px; font-family: Arial; color:MediumAquaMarine'>Language: {}</span><br> -->
|
| 139 |
<span style='font-family: Arial;'>{}</span><br>
|
| 140 |
<br>
|
|
|
|
| 170 |
num_results = payload["num_results"]
|
| 171 |
else:
|
| 172 |
highlight_terms = payload["highlight_terms"]
|
| 173 |
+
results = []
|
| 174 |
+
for lang, res_for_lang in payload["results"].items():
|
| 175 |
+
for result in res_for_lang:
|
| 176 |
+
results.append(result)
|
| 177 |
|
| 178 |
for result in results:
|
| 179 |
text = result["text"]
|
|
|
|
| 292 |
label="Datasets Filter",
|
| 293 |
multiselect=True,
|
| 294 |
)
|
| 295 |
+
with gr.Row():
|
| 296 |
+
header_html = gr.HTML(label="Header", value="hello")
|
| 297 |
+
results_html = []
|
| 298 |
+
for i in range(100):
|
| 299 |
+
results_html.append(gr.HTML(label="Results"))
|
| 300 |
with gr.Row(visible=False) as pagination:
|
| 301 |
next_page_btn = gr.Button("Next Page")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 302 |
|
| 303 |
def run_query(query, lang, k, dropdown_input, max_page_size, received_results):
|
| 304 |
query = query.strip()
|
|
|
|
| 344 |
num_results
|
| 345 |
)
|
| 346 |
# print("processed_results", processed_results)
|
| 347 |
+
results_html = format_result_page(
|
| 348 |
processed_results, highlight_terms, num_results, exact_search
|
| 349 |
)
|
| 350 |
return (
|
|
|
|
| 352 |
highlight_terms,
|
| 353 |
num_results,
|
| 354 |
exact_search,
|
| 355 |
+
results_html,
|
| 356 |
ds,
|
| 357 |
)
|
| 358 |
|
|
|
|
| 362 |
highlight_terms,
|
| 363 |
num_results,
|
| 364 |
exact_search,
|
| 365 |
+
results_html,
|
| 366 |
datasets,
|
| 367 |
) = run_query(query, lang, k, dropdown_input, max_page_size, 0)
|
| 368 |
has_more_results = exact_search and (num_results > max_page_size)
|
| 369 |
+
return (
|
| 370 |
+
[
|
| 371 |
+
processed_results,
|
| 372 |
+
highlight_terms,
|
| 373 |
+
num_results,
|
| 374 |
+
exact_search,
|
| 375 |
+
gr.update(visible=True),
|
| 376 |
+
gr.Dropdown.update(choices=datasets, value=datasets),
|
| 377 |
+
gr.update(visible=has_more_results),
|
| 378 |
+
len(processed_results),
|
| 379 |
+
]
|
| 380 |
+
+ results_html
|
| 381 |
+
+ [gr.update(visible=False)] * (100 - len(results_html))
|
| 382 |
+
)
|
| 383 |
|
| 384 |
def next_page(
|
| 385 |
query,
|
|
|
|
| 395 |
highlight_terms,
|
| 396 |
num_results,
|
| 397 |
exact_search,
|
| 398 |
+
results_html,
|
| 399 |
datasets,
|
| 400 |
) = run_query(
|
| 401 |
query, lang, k, dropdown_input, max_page_size, received_results
|
|
|
|
| 405 |
print("num_processed_results", num_processed_results)
|
| 406 |
print("has_more_results", has_more_results)
|
| 407 |
print("received_results", received_results)
|
| 408 |
+
return (
|
| 409 |
+
[
|
| 410 |
+
processed_results,
|
| 411 |
+
highlight_terms,
|
| 412 |
+
num_results,
|
| 413 |
+
exact_search,
|
| 414 |
+
gr.update(visible=True),
|
| 415 |
+
gr.Dropdown.update(choices=datasets, value=datasets),
|
| 416 |
+
gr.update(
|
| 417 |
+
visible=num_processed_results >= max_page_size
|
| 418 |
+
and has_more_results
|
| 419 |
+
),
|
| 420 |
+
received_results + num_processed_results,
|
| 421 |
+
]
|
| 422 |
+
+ results_html
|
| 423 |
+
+ [gr.update(visible=False)] * (100 - len(results_html))
|
| 424 |
+
)
|
| 425 |
|
| 426 |
def filter_datasets(
|
| 427 |
lang,
|
|
|
|
| 431 |
exact_search,
|
| 432 |
datasets_filter,
|
| 433 |
):
|
| 434 |
+
results_html = format_result_page(
|
| 435 |
processed_results,
|
| 436 |
highlight_terms,
|
| 437 |
num_results,
|
| 438 |
exact_search,
|
| 439 |
datasets_filter,
|
| 440 |
)
|
| 441 |
+
return results_html + [gr.update(visible=False)] * (100 - len(results_html))
|
| 442 |
|
| 443 |
query.submit(
|
| 444 |
fn=submit,
|
|
|
|
| 448 |
highlight_terms_state,
|
| 449 |
num_results_state,
|
| 450 |
exact_search_state,
|
|
|
|
|
|
|
| 451 |
datasets_filter,
|
| 452 |
available_datasets,
|
| 453 |
pagination,
|
| 454 |
received_results_state,
|
| 455 |
+
]
|
| 456 |
+
+ results_html,
|
| 457 |
)
|
| 458 |
submit_btn.click(
|
| 459 |
submit,
|
|
|
|
| 463 |
highlight_terms_state,
|
| 464 |
num_results_state,
|
| 465 |
exact_search_state,
|
|
|
|
|
|
|
| 466 |
datasets_filter,
|
| 467 |
available_datasets,
|
| 468 |
pagination,
|
| 469 |
received_results_state,
|
| 470 |
+
]
|
| 471 |
+
+ results_html,
|
| 472 |
)
|
| 473 |
|
| 474 |
next_page_btn.click(
|
|
|
|
| 487 |
highlight_terms_state,
|
| 488 |
num_results_state,
|
| 489 |
exact_search_state,
|
|
|
|
|
|
|
| 490 |
datasets_filter,
|
| 491 |
available_datasets,
|
| 492 |
pagination,
|
| 493 |
received_results_state,
|
| 494 |
+
]
|
| 495 |
+
+ results_html,
|
| 496 |
)
|
| 497 |
|
| 498 |
available_datasets.change(
|
|
|
|
| 505 |
exact_search_state,
|
| 506 |
available_datasets,
|
| 507 |
],
|
| 508 |
+
outputs=results_html,
|
| 509 |
+
)
|
| 510 |
+
results_html[0].change(
|
| 511 |
+
filter_datasets,
|
| 512 |
+
inputs=[
|
| 513 |
+
lang,
|
| 514 |
+
processed_results_state,
|
| 515 |
+
highlight_terms_state,
|
| 516 |
+
num_results_state,
|
| 517 |
+
exact_search_state,
|
| 518 |
+
available_datasets,
|
| 519 |
+
],
|
| 520 |
+
outputs=results_html,
|
| 521 |
)
|
| 522 |
demo.launch(enable_queue=True, debug=True)
|