Spaces:
Runtime error
Runtime error
Add clear and copy examples problem feature
Browse files
app.py
CHANGED
@@ -8,6 +8,8 @@ import re
|
|
8 |
import subprocess
|
9 |
import tempfile
|
10 |
import json
|
|
|
|
|
11 |
from typing import Tuple, Dict, Any, List
|
12 |
from sympy import N, simplify
|
13 |
from sympy.parsing.latex import parse_latex
|
@@ -541,7 +543,7 @@ def generate(message, temperature):
|
|
541 |
max_tokens=1024,
|
542 |
stop=["```output\n"],
|
543 |
temperature=temperature,
|
544 |
-
timeout=30
|
545 |
)
|
546 |
|
547 |
response = stream.response
|
@@ -715,17 +717,81 @@ def solve_problem(problem, temperature, progress=gr.Progress()):
|
|
715 |
yield sample["gen_texts"]
|
716 |
|
717 |
|
718 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
719 |
with gr.Row():
|
720 |
inp = gr.Textbox(placeholder="Problem", label="Problem", lines=5)
|
721 |
with gr.Accordion("Advanced Options", open=False):
|
722 |
temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.1, step=0.1, label="Temperature")
|
723 |
with gr.Row():
|
724 |
-
out = gr.Markdown(elem_classes=["top-margin"], latex_delimiters=
|
725 |
|
726 |
btn = gr.Button("Run")
|
|
|
727 |
|
728 |
btn.click(fn=solve_problem, inputs=[inp, temperature], outputs=out)
|
|
|
|
|
|
|
729 |
|
730 |
|
731 |
if __name__ == "__main__":
|
|
|
8 |
import subprocess
|
9 |
import tempfile
|
10 |
import json
|
11 |
+
import datasets
|
12 |
+
import random
|
13 |
from typing import Tuple, Dict, Any, List
|
14 |
from sympy import N, simplify
|
15 |
from sympy.parsing.latex import parse_latex
|
|
|
543 |
max_tokens=1024,
|
544 |
stop=["```output\n"],
|
545 |
temperature=temperature,
|
546 |
+
timeout=30,
|
547 |
)
|
548 |
|
549 |
response = stream.response
|
|
|
717 |
yield sample["gen_texts"]
|
718 |
|
719 |
|
720 |
+
def clear_inputs():
|
721 |
+
return "", 0.1, ""
|
722 |
+
|
723 |
+
|
724 |
+
example_data = datasets.load_dataset("AI-MO/kaggle-validation-set-medium-extended", split="train")
|
725 |
+
|
726 |
+
|
727 |
+
def get_random_problems():
|
728 |
+
examples = random.sample(list(example_data), 2)
|
729 |
+
problems = [ex["problem"] for ex in examples]
|
730 |
+
return problems[0], problems[1]
|
731 |
+
|
732 |
+
|
733 |
+
def copy_problem_to_input(problem):
|
734 |
+
return problem
|
735 |
+
|
736 |
+
|
737 |
+
css = """
|
738 |
+
.top-margin {
|
739 |
+
margin-top: 20px;
|
740 |
+
}
|
741 |
+
|
742 |
+
.problem-container {
|
743 |
+
display: flex;
|
744 |
+
align-items: center;
|
745 |
+
margin-bottom: 10px;
|
746 |
+
border-radius: 8px;
|
747 |
+
border: 1px solid rgb(229, 231, 235);
|
748 |
+
padding: 10px 12px;
|
749 |
+
}
|
750 |
+
|
751 |
+
# .problem-text {
|
752 |
+
# flex: 1;
|
753 |
+
# padding: 10px;
|
754 |
+
# background-color: #f9f9f9;
|
755 |
+
# border: 1px solid #ccc;
|
756 |
+
# border-radius: 5px;
|
757 |
+
# margin-right: 10px;
|
758 |
+
# }
|
759 |
+
|
760 |
+
.copy-button {
|
761 |
+
flex: none;
|
762 |
+
}
|
763 |
+
"""
|
764 |
+
|
765 |
+
with gr.Blocks(css=css) as demo:
|
766 |
+
latex_delimiters = [
|
767 |
+
{"left": "[", "right": "]", "display": True},
|
768 |
+
]
|
769 |
+
|
770 |
+
problem_1_text, problem_2_text = get_random_problems()
|
771 |
+
|
772 |
+
with gr.Row(elem_classes="problem-container"):
|
773 |
+
problem_1_text_contract = problem_1_text[:120] + "..." if len(problem_1_text) > 100 else problem_1_text
|
774 |
+
problem_1 = gr.Markdown(value=problem_1_text_contract, latex_delimiters=latex_delimiters)
|
775 |
+
copy_btn_1 = gr.Button("Copy", elem_classes="copy-button")
|
776 |
+
with gr.Row(elem_classes="problem-container"):
|
777 |
+
problem_2_text_contract = problem_2_text[:120] + "..." if len(problem_2_text) > 100 else problem_2_text
|
778 |
+
problem_2 = gr.Markdown(value=problem_2_text_contract, latex_delimiters=latex_delimiters)
|
779 |
+
copy_btn_2 = gr.Button("Copy", elem_classes="copy-button")
|
780 |
+
|
781 |
with gr.Row():
|
782 |
inp = gr.Textbox(placeholder="Problem", label="Problem", lines=5)
|
783 |
with gr.Accordion("Advanced Options", open=False):
|
784 |
temperature = gr.Slider(minimum=0.0, maximum=1.0, value=0.1, step=0.1, label="Temperature")
|
785 |
with gr.Row():
|
786 |
+
out = gr.Markdown(elem_classes=["top-margin"], latex_delimiters=latex_delimiters)
|
787 |
|
788 |
btn = gr.Button("Run")
|
789 |
+
btn_clear = gr.Button("Clear")
|
790 |
|
791 |
btn.click(fn=solve_problem, inputs=[inp, temperature], outputs=out)
|
792 |
+
btn_clear.click(fn=clear_inputs, inputs=[], outputs=[inp, temperature, out])
|
793 |
+
copy_btn_1.click(fn=copy_problem_to_input, inputs=[gr.Markdown(value=problem_1_text, visible=False)], outputs=[inp])
|
794 |
+
copy_btn_2.click(fn=copy_problem_to_input, inputs=[gr.Markdown(value=problem_2_text, visible=False)], outputs=[inp])
|
795 |
|
796 |
|
797 |
if __name__ == "__main__":
|