sugiv commited on
Commit
601b056
·
1 Parent(s): fa451c0

Leetmonkey In Action. Darn LeetMonkey these days

Browse files
Files changed (1) hide show
  1. app.py +31 -17
app.py CHANGED
@@ -89,27 +89,41 @@ def extract_and_format_code(text):
89
  dataset = load_dataset("sugiv/leetmonkey_python_dataset")
90
  val_dataset = dataset["train"].train_test_split(test_size=0.1)["test"]
91
 
92
- def gradio_interface(model_name):
93
- model = load_model(gguf_models[model_name])
94
  sample = random.choice(val_dataset)
95
  instruction = sample['instruction']
96
  original_output = sample['output']
97
 
 
98
  generated_output = generate_solution(instruction, model)
99
  python_code = extract_and_format_code(generated_output)
100
 
101
- return instruction, python_code, original_output
102
-
103
- iface = gr.Interface(
104
- fn=gradio_interface,
105
- inputs=gr.Dropdown(choices=list(gguf_models.keys()), label="Select GGUF Model"),
106
- outputs=[
107
- gr.Textbox(label="LeetCode Problem", lines=10),
108
- gr.Code(label="Generated Solution", language="python"),
109
- gr.Code(label="Original Solution", language="python")
110
- ],
111
- title="LeetCode Problem Solver",
112
- description="Select a model to generate a solution for a random LeetCode problem."
113
- )
114
-
115
- iface.launch(share=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
  dataset = load_dataset("sugiv/leetmonkey_python_dataset")
90
  val_dataset = dataset["train"].train_test_split(test_size=0.1)["test"]
91
 
92
+ def gradio_interface(btn):
93
+ model_name = gr.Dropdown.update(choices=list(gguf_models.keys()), label="Select GGUF Model")
94
  sample = random.choice(val_dataset)
95
  instruction = sample['instruction']
96
  original_output = sample['output']
97
 
98
+ model = load_model(gguf_models[model_name])
99
  generated_output = generate_solution(instruction, model)
100
  python_code = extract_and_format_code(generated_output)
101
 
102
+ return instruction, python_code, original_output, model_name
103
+
104
+ with gr.Blocks() as demo:
105
+ gr.Markdown("# LeetMonkey Problem Solver")
106
+
107
+ with gr.Row():
108
+ with gr.Column():
109
+ problem_display = gr.Textbox(label="LeetCode Problem", lines=10)
110
+ select_problem_btn = gr.Button("Select Random Problem")
111
+
112
+ with gr.Column():
113
+ model_dropdown = gr.Dropdown(choices=list(gguf_models.keys()), label="Select GGUF Model", value="Exact Copy")
114
+ solution_display = gr.Code(label="Generated Solution", language="python")
115
+ original_solution_display = gr.Code(label="Original Solution", language="python")
116
+ generate_btn = gr.Button("Generate Solution")
117
+
118
+ select_problem_btn.click(
119
+ lambda: random.choice(val_dataset)['instruction'],
120
+ outputs=problem_display
121
+ )
122
+
123
+ generate_btn.click(
124
+ gradio_interface,
125
+ inputs=[model_dropdown, problem_display],
126
+ outputs=[problem_display, solution_display, original_solution_display, model_dropdown]
127
+ )
128
+
129
+ demo.launch(share=True)