Spaces:
Running
on
Zero
Running
on
Zero
| from .utils import * | |
| from .vote_utils import ( | |
| upvote_last_response_ig as upvote_last_response, | |
| downvote_last_response_ig as downvote_last_response, | |
| flag_last_response_ig as flag_last_response, | |
| leftvote_last_response_igm as leftvote_last_response, | |
| left1vote_last_response_igm as left1vote_last_response, | |
| rightvote_last_response_igm as rightvote_last_response, | |
| right1vote_last_response_igm as right1vote_last_response, | |
| tievote_last_response_igm as tievote_last_response, | |
| bothbad_vote_last_response_igm as bothbad_vote_last_response, | |
| share_click_igm as share_click, | |
| generate_ig, | |
| generate_ig_museum, | |
| generate_igm, | |
| generate_igm_museum, | |
| generate_igm_annoy, | |
| generate_igm_annoy_museum, | |
| generate_igm_cache_annoy, | |
| share_js | |
| ) | |
| from .Ksort import ( | |
| add_foreground, | |
| reset_level, | |
| reset_rank, | |
| revote_windows, | |
| submit_response_igm, | |
| submit_response_rank_igm, | |
| reset_submit, | |
| clear_rank, | |
| reset_mode, | |
| reset_chatbot, | |
| reset_btn_rank, | |
| reset_vote_text, | |
| text_response_rank_igm, | |
| check_textbox, | |
| ) | |
| from functools import partial | |
| from .upload import get_random_mscoco_prompt | |
| from serve.constants import SSH_SERVER, SSH_PORT, SSH_USER, SSH_PASSWORD | |
| from serve.upload import get_random_mscoco_prompt, create_ssh_client | |
| from serve.update_skill import create_ssh_skill_client | |
| from model.matchmaker import create_ssh_matchmaker_client | |
| def set_ssh(): | |
| create_ssh_client(SSH_SERVER, SSH_PORT, SSH_USER, SSH_PASSWORD) | |
| create_ssh_skill_client(SSH_SERVER, SSH_PORT, SSH_USER, SSH_PASSWORD) | |
| create_ssh_matchmaker_client(SSH_SERVER, SSH_PORT, SSH_USER, SSH_PASSWORD) | |
| def build_side_by_side_ui_anony(models): | |
| notice_markdown = """ | |
| # ⚔️ K-Sort Arena (Text-to-Image Generation) ⚔️ | |
| ## 📜 Rules | |
| - Input a prompt for four anonymized models (e.g., SD, SDXL, OpenJourney for Text-guided Image Generation) and vote on their outputs. | |
| - Two voting modes available: Rank Mode and Best Mode. Switch freely between modes. Please note that ties are always allowed. In ranking mode, users can input rankings like 1 3 3 1. Any invalid rankings, such as 1 4 4 1, will be automatically corrected during post-processing. | |
| - Users are encouraged to make evaluations based on subjective preferences. Evaluation criteria: Alignment (50%) + Aesthetics (50%). | |
| - Alignment includes: Entity Matching (30%) + Style Matching (20%); | |
| - Aesthetics includes: Photorealism (30%) + Light and Shadow (10%) + Absence of Artifacts (10%). | |
| ## 👇 Generating now! | |
| - Note: Due to the API's image safety checks, errors may occur. If this happens, please re-enter a different prompt. | |
| - At times, high API concurrency can cause congestion, potentially resulting in a generation time of up to 1.5 minutes per image. Thank you for your patience. | |
| """ | |
| model_list = models.model_ig_list | |
| state0 = gr.State() | |
| state1 = gr.State() | |
| state2 = gr.State() | |
| state3 = gr.State() | |
| gen_func = partial(generate_igm_annoy, models.generate_image_ig_parallel_anony) | |
| gen_cache_func = partial(generate_igm_cache_annoy, models.generate_image_ig_cache_anony) | |
| # gen_func_random = partial(generate_igm_annoy_museum, models.generate_image_ig_museum_parallel_anony) | |
| gr.Markdown(notice_markdown, elem_id="notice_markdown") | |
| with gr.Group(elem_id="share-region-anony"): | |
| with gr.Accordion("🔍 Expand to see all Arena players", open=False): | |
| model_description_md = get_model_description_md(model_list) | |
| gr.Markdown(model_description_md, elem_id="model_description_markdown") | |
| with gr.Row(): | |
| with gr.Column(): | |
| chatbot_left = gr.Image(width=512, label = "Model A") | |
| with gr.Column(): | |
| chatbot_left1 = gr.Image(width=512, label = "Model B") | |
| with gr.Column(): | |
| chatbot_right = gr.Image(width=512, label = "Model C") | |
| with gr.Column(): | |
| chatbot_right1 = gr.Image(width=512, label = "Model D") | |
| with gr.Row(): | |
| with gr.Column(): | |
| model_selector_left = gr.Markdown("", visible=False) | |
| with gr.Column(): | |
| model_selector_left1 = gr.Markdown("", visible=False) | |
| with gr.Column(): | |
| model_selector_right = gr.Markdown("", visible=False) | |
| with gr.Column(): | |
| model_selector_right1 = gr.Markdown("", visible=False) | |
| with gr.Row(): | |
| slow_warning = gr.Markdown("", elem_id="notice_markdown") | |
| with gr.Row(elem_classes="row"): | |
| with gr.Column(scale=1, min_width=10): | |
| leftvote_btn = gr.Button( | |
| value="A is Best", visible=False, interactive=False, elem_id="btncolor1", elem_classes="best-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| left1vote_btn = gr.Button( | |
| value="B is Best", visible=False, interactive=False, elem_id="btncolor1", elem_classes="best-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| rightvote_btn = gr.Button( | |
| value="C is Best", visible=False, interactive=False, elem_id="btncolor1", elem_classes="best-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| right1vote_btn = gr.Button( | |
| value="D is Best", visible=False, interactive=False, elem_id="btncolor1", elem_classes="best-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| tie_btn = gr.Button( | |
| value="🤝 Tie", visible=False, interactive=False, elem_id="btncolor2", elem_classes="best-button" | |
| ) | |
| with gr.Row(): | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| with gr.Column(scale=1, min_width=10): | |
| A1_btn = gr.Button( | |
| value="1", visible=False, interactive=False, elem_id="btncolor1", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| A2_btn = gr.Button( | |
| value="2", visible=False, interactive=False, elem_id="btncolor2", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| A3_btn = gr.Button( | |
| value="3", visible=False, interactive=False, elem_id="btncolor3", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| A4_btn = gr.Button( | |
| value="4", visible=False, interactive=False, elem_id="btncolor4", elem_classes="custom-button" | |
| ) | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| with gr.Column(scale=1, min_width=10): | |
| B1_btn = gr.Button( | |
| value="1", visible=False, interactive=False, elem_id="btncolor1", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| B2_btn = gr.Button( | |
| value="2", visible=False, interactive=False, elem_id="btncolor2", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| B3_btn = gr.Button( | |
| value="3", visible=False, interactive=False, elem_id="btncolor3", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| B4_btn = gr.Button( | |
| value="4", visible=False, interactive=False, elem_id="btncolor4", elem_classes="custom-button" | |
| ) | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| with gr.Column(scale=1, min_width=10): | |
| C1_btn = gr.Button( | |
| value="1", visible=False, interactive=False, elem_id="btncolor1", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| C2_btn = gr.Button( | |
| value="2", visible=False, interactive=False, elem_id="btncolor2", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| C3_btn = gr.Button( | |
| value="3", visible=False, interactive=False, elem_id="btncolor3", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| C4_btn = gr.Button( | |
| value="4", visible=False, interactive=False, elem_id="btncolor4", elem_classes="custom-button" | |
| ) | |
| with gr.Blocks(): | |
| with gr.Row(): | |
| with gr.Column(scale=1, min_width=10): | |
| D1_btn = gr.Button( | |
| value="1", visible=False, interactive=False, elem_id="btncolor1", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| D2_btn = gr.Button( | |
| value="2", visible=False, interactive=False, elem_id="btncolor2", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| D3_btn = gr.Button( | |
| value="3", visible=False, interactive=False, elem_id="btncolor3", elem_classes="custom-button" | |
| ) | |
| with gr.Column(scale=1, min_width=10): | |
| D4_btn = gr.Button( | |
| value="4", visible=False, interactive=False, elem_id="btncolor4", elem_classes="custom-button" | |
| ) | |
| with gr.Row(): | |
| vote_textbox = gr.Textbox( | |
| show_label=False, | |
| placeholder="👉 Enter your rank (you can use buttons above, or directly type here, e.g. 1 2 3 4)", | |
| container=True, | |
| elem_id="input_box", | |
| visible=False, | |
| ) | |
| vote_submit_btn = gr.Button(value="Submit", visible=False, interactive=False, variant="primary", scale=0, elem_id="btnpink", elem_classes="submit-button") | |
| vote_mode_btn = gr.Button(value="🔄 Mode", visible=False, interactive=False, variant="primary", scale=0, elem_id="btnpink", elem_classes="submit-button") | |
| with gr.Row(): | |
| textbox = gr.Textbox( | |
| show_label=False, | |
| placeholder="👉 Enter your prompt and press ENTER", | |
| container=True, | |
| elem_id="input_box", | |
| ) | |
| # send_btn = gr.Button(value="Send", variant="primary", scale=0, elem_id="btnblue", elem_classes="send-button") | |
| # draw_btn = gr.Button(value="🎲 Random sample", variant="primary", scale=0, elem_id="btnblue", elem_classes="send-button") | |
| send_btn = gr.Button(value="Send", variant="primary", scale=0, elem_id="btnblue") | |
| draw_btn = gr.Button(value="🎲 Random Prompt", variant="primary", scale=0, elem_id="btnblue") | |
| with gr.Row(): | |
| cache_btn = gr.Button(value="🎲 Random Sample", interactive=True) | |
| with gr.Row(): | |
| clear_btn = gr.Button(value="🎲 New Round", interactive=False) | |
| # regenerate_btn = gr.Button(value="🔄 Regenerate", interactive=False) | |
| # share_btn = gr.Button(value="📷 Share") | |
| with gr.Blocks(): | |
| with gr.Row(elem_id="centered-text"): # | |
| user_info = gr.Markdown("User information (to appear on the contributor leaderboard)", visible=True, elem_id="centered-text") #, elem_id="centered-text" | |
| # with gr.Blocks(): | |
| # name = gr.Markdown("Name", visible=True) | |
| user_name = gr.Textbox(show_label=False,placeholder="👉 Enter your name (optional)", elem_classes="custom-width") | |
| # with gr.Blocks(): | |
| # institution = gr.Markdown("Institution", visible=True) | |
| user_institution = gr.Textbox(show_label=False,placeholder="👉 Enter your affiliation (optional)", elem_classes="custom-width") | |
| #gr.Markdown(acknowledgment_md, elem_id="ack_markdown") | |
| dummy_img_output = gr.Image(width=512, visible=False) | |
| gr.Examples( | |
| examples=[["A train crossing a bridge that is going over a body of water.", os.path.join("./examples", "example1.jpg")], | |
| ["The man in the business suit wears a striped blue and white tie.", os.path.join("./examples", "example2.jpg")], | |
| ["A skier stands on a small ledge in the snow.",os.path.join("./examples", "example3.jpg")], | |
| ["The bathroom with green tile and a red shower curtain.", os.path.join("./examples", "example4.jpg")]], | |
| inputs = [textbox, dummy_img_output]) | |
| order_btn_list = [textbox, send_btn, draw_btn, cache_btn, clear_btn] | |
| vote_order_list = [leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn, \ | |
| vote_textbox, vote_submit_btn, vote_mode_btn] | |
| generate_ig0 = gr.Image(width=512, label = "generate A", visible=False, interactive=False) | |
| generate_ig1 = gr.Image(width=512, label = "generate B", visible=False, interactive=False) | |
| generate_ig2 = gr.Image(width=512, label = "generate C", visible=False, interactive=False) | |
| generate_ig3 = gr.Image(width=512, label = "generate D", visible=False, interactive=False) | |
| dummy_left_model = gr.State("") | |
| dummy_left1_model = gr.State("") | |
| dummy_right_model = gr.State("") | |
| dummy_right1_model = gr.State("") | |
| ig_rank = [None, None, None, None] | |
| bastA_rank = [0, 3, 3, 3] | |
| bastB_rank = [3, 0, 3, 3] | |
| bastC_rank = [3, 3, 0, 3] | |
| bastD_rank = [3, 3, 3, 0] | |
| tie_rank = [0, 0, 0, 0] | |
| bad_rank = [3, 3, 3, 3] | |
| rank = gr.State(ig_rank) | |
| rankA = gr.State(bastA_rank) | |
| rankB = gr.State(bastB_rank) | |
| rankC = gr.State(bastC_rank) | |
| rankD = gr.State(bastD_rank) | |
| rankTie = gr.State(tie_rank) | |
| rankBad = gr.State(bad_rank) | |
| Top1_text = gr.Textbox(value="Top 1", visible=False, interactive=False) | |
| Top2_text = gr.Textbox(value="Top 2", visible=False, interactive=False) | |
| Top3_text = gr.Textbox(value="Top 3", visible=False, interactive=False) | |
| Top4_text = gr.Textbox(value="Top 4", visible=False, interactive=False) | |
| window1_text = gr.Textbox(value="Model A", visible=False, interactive=False) | |
| window2_text = gr.Textbox(value="Model B", visible=False, interactive=False) | |
| window3_text = gr.Textbox(value="Model C", visible=False, interactive=False) | |
| window4_text = gr.Textbox(value="Model D", visible=False, interactive=False) | |
| vote_level = gr.Number(value=0, visible=False, interactive=False) | |
| # Top1_btn.click(reset_level, inputs=[Top1_text], outputs=[vote_level]) | |
| # Top2_btn.click(reset_level, inputs=[Top2_text], outputs=[vote_level]) | |
| # Top3_btn.click(reset_level, inputs=[Top3_text], outputs=[vote_level]) | |
| # Top4_btn.click(reset_level, inputs=[Top4_text], outputs=[vote_level]) | |
| vote_mode = gr.Textbox(value="Rank", visible=False, interactive=False) | |
| right_vote_text = gr.Textbox(value="wrong", visible=False, interactive=False) | |
| cache_mode = gr.Textbox(value="True", visible=False, interactive=False) | |
| textbox.submit( | |
| disable_order_buttons, | |
| inputs=[textbox], | |
| outputs=order_btn_list | |
| ).then( | |
| gen_func, | |
| inputs=[state0, state1, state2, state3, textbox, model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| outputs=[state0, state1, state2, state3, generate_ig0, generate_ig1, generate_ig2, generate_ig3, chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| api_name="submit_btn_annony" | |
| ).then( | |
| enable_vote_mode_buttons, | |
| inputs=[vote_mode, textbox], | |
| outputs=vote_order_list | |
| ) | |
| send_btn.click( | |
| disable_order_buttons, | |
| inputs=[textbox], | |
| outputs=order_btn_list | |
| ).then( | |
| gen_func, | |
| inputs=[state0, state1, state2, state3, textbox, model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| outputs=[state0, state1, state2, state3, generate_ig0, generate_ig1, generate_ig2, generate_ig3, chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| api_name="send_btn_annony" | |
| ).then( | |
| enable_vote_mode_buttons, | |
| inputs=[vote_mode, textbox], | |
| outputs=vote_order_list | |
| ) | |
| cache_btn.click( | |
| disable_order_buttons, | |
| inputs=[textbox, cache_mode], | |
| outputs=order_btn_list | |
| ).then( | |
| gen_cache_func, | |
| inputs=[state0, state1, state2, state3, model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| outputs=[state0, state1, state2, state3, generate_ig0, generate_ig1, generate_ig2, generate_ig3, chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, textbox], | |
| api_name="send_btn_annony" | |
| ).then( | |
| enable_vote_mode_buttons, | |
| inputs=[vote_mode, textbox], | |
| outputs=vote_order_list | |
| ) | |
| draw_btn.click( | |
| get_random_mscoco_prompt, | |
| inputs=None, | |
| outputs=[textbox], | |
| api_name="draw_btn_annony" | |
| ) | |
| clear_btn.click( | |
| clear_history_side_by_side_anony, | |
| inputs=None, | |
| outputs=[state0, state1, state2, state3, textbox, vote_textbox, chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| api_name="clear_btn_annony" | |
| ).then( | |
| enable_order_buttons, | |
| inputs=None, | |
| outputs=order_btn_list | |
| ).then( | |
| clear_rank, | |
| inputs=[rank, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| disable_vote_mode_buttons, | |
| inputs=None, | |
| outputs=vote_order_list | |
| ) | |
| # regenerate_btn.click( | |
| # gen_func, | |
| # inputs=[state0, state1, state2, state3, textbox, model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| # outputs=[state0, state1, state2, state3, chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, \ | |
| # model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| # api_name="regenerate_btn_annony" | |
| # ).then( | |
| # enable_best_buttons, | |
| # inputs=None, | |
| # outputs=btn_list | |
| # ) | |
| vote_mode_btn.click( | |
| reset_chatbot, | |
| inputs=[vote_mode, generate_ig0, generate_ig1, generate_ig2, generate_ig3], | |
| outputs=[chatbot_left, chatbot_left1, chatbot_right, chatbot_right1] | |
| ).then( | |
| reset_mode, | |
| inputs=[vote_mode], | |
| outputs=[leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn, \ | |
| vote_textbox, vote_submit_btn, vote_mode_btn, vote_mode] | |
| ) | |
| vote_textbox.submit( | |
| disable_vote, | |
| inputs=None, | |
| outputs=[vote_submit_btn, vote_mode_btn, \ | |
| A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn] | |
| ).then( | |
| text_response_rank_igm, | |
| inputs=[generate_ig0, generate_ig1, generate_ig2, generate_ig3, Top1_text, Top2_text, Top3_text, Top4_text, vote_textbox], | |
| outputs=[chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, vote_textbox, right_vote_text, rank] | |
| ).then( | |
| submit_response_rank_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rank, right_vote_text, user_name, user_institution], | |
| outputs=[A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn, \ | |
| vote_textbox, vote_submit_btn, vote_mode_btn, right_vote_text, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| api_name="submit_btn_annony" | |
| ) | |
| vote_submit_btn.click( | |
| disable_vote, | |
| inputs=None, | |
| outputs=[vote_submit_btn, vote_mode_btn, \ | |
| A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn] | |
| ).then( | |
| text_response_rank_igm, | |
| inputs=[generate_ig0, generate_ig1, generate_ig2, generate_ig3, Top1_text, Top2_text, Top3_text, Top4_text, vote_textbox], | |
| outputs=[chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, vote_textbox, right_vote_text, rank] | |
| ).then( | |
| submit_response_rank_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rank, right_vote_text, user_name, user_institution], | |
| outputs=[A1_btn, A2_btn, A3_btn, A4_btn, B1_btn, B2_btn, B3_btn, B4_btn, C1_btn, C2_btn, C3_btn, C4_btn, D1_btn, D2_btn, D3_btn, D4_btn, \ | |
| vote_textbox, vote_submit_btn, vote_mode_btn, right_vote_text, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1], | |
| api_name="submit_btn_annony" | |
| ) | |
| # Revote_btn.click( | |
| # revote_windows, | |
| # inputs=[generate_ig0, generate_ig1, generate_ig2, generate_ig3, rank, vote_level], | |
| # outputs=[chatbot_left, chatbot_left1, chatbot_right, chatbot_right1, rank, vote_level] | |
| # ).then( | |
| # reset_submit, | |
| # inputs = [rank], | |
| # outputs = [Submit_btn] | |
| # ) | |
| # Submit_btn.click( | |
| # submit_response_igm, | |
| # inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, rank], | |
| # outputs=[textbox, Top1_btn, Top2_btn, Top3_btn, Top4_btn, Revote_btn, Submit_btn, \ | |
| # model_selector_left, model_selector_left1, model_selector_right, model_selector_right1] | |
| # ) | |
| # chatbot_left.select(add_foreground, inputs=[generate_ig0, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], outputs=[chatbot_left]).then( | |
| # reset_rank, | |
| # inputs = [window1_text, rank, vote_level], | |
| # outputs = [rank] | |
| # ).then( | |
| # reset_submit, | |
| # inputs = [rank], | |
| # outputs = [Submit_btn] | |
| # ) | |
| # chatbot_left1.select(add_foreground, inputs=[generate_ig1, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], outputs=[chatbot_left1]).then( | |
| # reset_rank, | |
| # inputs = [window2_text, rank, vote_level], | |
| # outputs = [rank] | |
| # ).then( | |
| # reset_submit, | |
| # inputs = [rank], | |
| # outputs = [Submit_btn] | |
| # ) | |
| # chatbot_right.select(add_foreground, inputs=[generate_ig2, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], outputs=[chatbot_right]).then( | |
| # reset_rank, | |
| # inputs = [window3_text, rank, vote_level], | |
| # outputs = [rank] | |
| # ).then( | |
| # reset_submit, | |
| # inputs = [rank], | |
| # outputs = [Submit_btn] | |
| # ) | |
| # chatbot_right1.select(add_foreground, inputs=[generate_ig3, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], outputs=[chatbot_right1]).then( | |
| # reset_rank, | |
| # inputs = [window4_text, rank, vote_level], | |
| # outputs = [rank] | |
| # ).then( | |
| # reset_submit, | |
| # inputs = [rank], | |
| # outputs = [Submit_btn] | |
| # ) | |
| leftvote_btn.click( | |
| submit_response_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rankA, user_name, user_institution], | |
| outputs=[textbox, leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, \ | |
| vote_mode_btn] | |
| ) | |
| left1vote_btn.click( | |
| submit_response_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rankB, user_name, user_institution], | |
| outputs=[textbox, leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, \ | |
| vote_mode_btn] | |
| ) | |
| rightvote_btn.click( | |
| submit_response_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rankC, user_name, user_institution], | |
| outputs=[textbox, leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, \ | |
| vote_mode_btn] | |
| ) | |
| right1vote_btn.click( | |
| submit_response_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rankD, user_name, user_institution], | |
| outputs=[textbox, leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, \ | |
| vote_mode_btn] | |
| ) | |
| tie_btn.click( | |
| submit_response_igm, | |
| inputs=[state0, state1, state2, state3, dummy_left_model, dummy_left1_model, dummy_right_model, dummy_right1_model, textbox, rankTie, user_name, user_institution], | |
| outputs=[textbox, leftvote_btn, left1vote_btn, rightvote_btn, right1vote_btn, tie_btn, \ | |
| model_selector_left, model_selector_left1, model_selector_right, model_selector_right1, \ | |
| vote_mode_btn] | |
| ) | |
| A1_btn.click( | |
| reset_btn_rank, | |
| inputs=[window1_text, rank, A1_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig0, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| A2_btn.click( | |
| reset_btn_rank, | |
| inputs=[window1_text, rank, A2_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig0, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| A3_btn.click( | |
| reset_btn_rank, | |
| inputs=[window1_text, rank, A3_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig0, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| A4_btn.click( | |
| reset_btn_rank, | |
| inputs=[window1_text, rank, A4_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig0, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| B1_btn.click( | |
| reset_btn_rank, | |
| inputs=[window2_text, rank, B1_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig1, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| B2_btn.click( | |
| reset_btn_rank, | |
| inputs=[window2_text, rank, B2_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig1, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| B3_btn.click( | |
| reset_btn_rank, | |
| inputs=[window2_text, rank, B3_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig1, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| B4_btn.click( | |
| reset_btn_rank, | |
| inputs=[window2_text, rank, B4_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig1, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_left1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| C1_btn.click( | |
| reset_btn_rank, | |
| inputs=[window3_text, rank, C1_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig2, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| C2_btn.click( | |
| reset_btn_rank, | |
| inputs=[window3_text, rank, C2_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig2, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| C3_btn.click( | |
| reset_btn_rank, | |
| inputs=[window3_text, rank, C3_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig2, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| C4_btn.click( | |
| reset_btn_rank, | |
| inputs=[window3_text, rank, C4_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig2, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| D1_btn.click( | |
| reset_btn_rank, | |
| inputs=[window4_text, rank, D1_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig3, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| D2_btn.click( | |
| reset_btn_rank, | |
| inputs=[window4_text, rank, D2_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig3, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| D3_btn.click( | |
| reset_btn_rank, | |
| inputs=[window4_text, rank, D3_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig3, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) | |
| D4_btn.click( | |
| reset_btn_rank, | |
| inputs=[window4_text, rank, D4_btn, vote_level], | |
| outputs=[rank, vote_level] | |
| ).then( | |
| add_foreground, | |
| inputs=[generate_ig3, vote_level, Top1_text, Top2_text, Top3_text, Top4_text], | |
| outputs=[chatbot_right1] | |
| ).then( | |
| reset_submit, | |
| inputs = [rank], | |
| outputs = [vote_submit_btn] | |
| ).then( | |
| reset_vote_text, | |
| inputs = [rank], | |
| outputs = [vote_textbox] | |
| ) |