| import json |
|
|
| import gradio as gr |
|
|
|
|
| with open("problems.json") as f: |
| problems = json.load(f) |
| problem_choices = [q["question_title"] for q in problems] |
|
|
| with open("all_outputs.json") as f: |
| all_outputs = json.load(f) |
| model_choices = list(all_outputs.keys()) |
|
|
|
|
| def update_view(problem_index, model_name): |
| code = all_outputs[model_name][problem_index]["code_list"][0] |
| correct = all_outputs[model_name][problem_index]["pass1_list"][0] |
| code_viewer = gr.Code( |
| label=f"Code for Model {model_name} on {problems[problem_index]['question_title']} problem. Passed: {correct}", |
| language="python", |
| lines=10, |
| value=code, |
| interactive=False, |
| ) |
| return code_viewer |
|
|
|
|
| with gr.Blocks() as demo: |
| |
| problem_dropdown = gr.Dropdown( |
| label="Selected Problem", |
| choices=problem_choices, |
| value=problem_choices[0], |
| type="index", |
| ) |
|
|
| model_dropdown = gr.Dropdown( |
| label="Selected Model", |
| choices=model_choices, |
| value="GPT-4-Turbo-1106", |
| type="value", |
| ) |
|
|
| code_viewer = update_view(0, model_choices[0]) |
|
|
| problem_dropdown.change( |
| update_view, inputs=[problem_dropdown, model_dropdown], outputs=[code_viewer] |
| ) |
|
|
| model_dropdown.change( |
| update_view, inputs=[problem_dropdown, model_dropdown], outputs=[code_viewer] |
| ) |
|
|
| |
|
|
|
|
| if __name__ == "__main__": |
| demo.launch() |
|
|