|
import gradio as gr |
|
from climateqa.sample_questions import QUESTIONS_GLOBAL, QUESTIONS_POC |
|
|
|
|
|
def create_examples_tab(tab_name): |
|
examples_hidden = gr.Textbox(visible=False, elem_id=f"examples-hidden") |
|
QUESTIONS = QUESTIONS_POC if tab_name == "Beta - POC Adapt'Action" else QUESTIONS_GLOBAL |
|
first_key = list(QUESTIONS.keys())[0] |
|
dropdown_samples = gr.Dropdown( |
|
choices=QUESTIONS.keys(), |
|
value=first_key, |
|
interactive=True, |
|
label="Select a category of sample questions", |
|
elem_id="dropdown-samples" |
|
) |
|
|
|
samples = [] |
|
for i, key in enumerate(QUESTIONS.keys()): |
|
examples_visible = (i == 0) |
|
with gr.Row(visible=examples_visible) as group_examples: |
|
examples_questions = gr.Examples( |
|
examples=QUESTIONS[key], |
|
inputs=[examples_hidden], |
|
examples_per_page=8, |
|
run_on_click=False, |
|
elem_id=f"examples{i}", |
|
api_name=f"examples{i}" |
|
) |
|
samples.append(group_examples) |
|
|
|
|
|
def change_sample_questions(key): |
|
index = list(QUESTIONS.keys()).index(key) |
|
visible_bools = [False] * len(samples) |
|
visible_bools[index] = True |
|
return [gr.update(visible=visible_bools[i]) for i in range(len(samples))] |
|
|
|
|
|
dropdown_samples.change(change_sample_questions, dropdown_samples, samples) |
|
|
|
return examples_hidden |