Spaces:
Build error
Build error
from gradio import ( | |
update, | |
Blocks, | |
Row, | |
Examples, | |
Group, | |
Markdown, | |
Textbox, | |
Button, | |
Tabs, | |
TabItem, | |
DataFrame as GRDataFrame, | |
) | |
from ambiguous_search_backends import AmbiguousSearchBackend | |
from classic_search_backends import ClassicSearchBackend | |
def launch_frontend( | |
ambiguous_search_backend: AmbiguousSearchBackend, | |
classic_search_backend: ClassicSearchBackend, | |
): | |
def on_ambiguous_search_click(query: str): | |
result = ambiguous_search_backend.submit(query) | |
return GRDataFrame.update(value=result, visible=True) | |
def on_ambiguous_search_query_clear_click(): | |
return Textbox.update(value="") | |
def on_classic_search_click(query: str): | |
result = classic_search_backend.submit(query) | |
return GRDataFrame.update(value=result, visible=True) | |
with Blocks() as frontend: | |
Markdown("## Himitsudogu Search") | |
with Tabs(): | |
with TabItem("あいまい検索"): | |
Markdown( | |
""" | |
自然言語処理モデル"Sentence BERT"を使って、ドラえもんのひみつ道具をあいまい検索。 | |
""" | |
) | |
query_textbox = Textbox( | |
label="自分の言葉でひみつ道具を説明してください", max_lines=1 | |
) | |
with Row(): | |
submit_button = Button("検索", variant="primary") | |
clear_button = Button("クリア") | |
result_table = GRDataFrame(visible=False) | |
Examples( | |
examples=[ | |
"ふりかけると水を色々な性質にできる", | |
"小さいカメラが飛ぶ", | |
"壁を通り抜けられるようにする輪", | |
"地図をいじって実際の町の建物などの位置を変える", | |
"歌声を綺麗にする", | |
], | |
inputs=query_textbox, | |
) | |
submit_button.click( | |
on_ambiguous_search_click, | |
inputs=query_textbox, | |
outputs=result_table, | |
) | |
clear_button.click( | |
on_ambiguous_search_query_clear_click, | |
inputs=None, | |
outputs=query_textbox, | |
) | |
with TabItem("古典検索"): | |
Markdown( | |
f""" | |
キーワードから検索。 | |
検索可能なひみつ道具は全{classic_search_backend.get_num_items()}種類。 | |
""" | |
) | |
query_textbox = Textbox(label="キーワード", max_lines=1) | |
with Row(): | |
submit_button = Button("検索", variant="primary") | |
result_table = GRDataFrame(visible=False) | |
submit_button.click( | |
on_classic_search_click, | |
inputs=query_textbox, | |
outputs=result_table, | |
) | |
frontend.launch() | |