Upload codeexecutor.py with huggingface_hub
Browse files- codeexecutor.py +15 -6
codeexecutor.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
import os
|
2 |
import re
|
3 |
import subprocess
|
@@ -24,7 +25,8 @@ class PythonREPL:
|
|
24 |
return True, result.stdout.strip()
|
25 |
else:
|
26 |
error_msg = result.stderr.strip()
|
27 |
-
msgs = error_msg.split("
|
|
|
28 |
new_msgs = []
|
29 |
want_next = False
|
30 |
for m in msgs:
|
@@ -42,16 +44,22 @@ class PythonREPL:
|
|
42 |
elif want_next:
|
43 |
new_msgs.append(m)
|
44 |
want_next = False
|
45 |
-
return False, "
|
|
|
46 |
|
47 |
def __call__(self, query):
|
48 |
-
query = "import math
|
49 |
-
|
|
|
|
|
|
|
|
|
50 |
if "print(" not in query[-1]:
|
51 |
if "#" in query[-1]:
|
52 |
query[-1] = query[-1].split("#")[0]
|
53 |
query[-1] = "print(" + query[-1] + ")"
|
54 |
-
query = "
|
|
|
55 |
|
56 |
with tempfile.TemporaryDirectory() as temp_dir:
|
57 |
temp_file_path = os.path.join(temp_dir, "tmp.py")
|
@@ -112,4 +120,5 @@ def get_majority_vote(answers):
|
|
112 |
return 0
|
113 |
c = Counter(answers)
|
114 |
value, _ = c.most_common()[0]
|
115 |
-
return value
|
|
|
|
1 |
+
|
2 |
import os
|
3 |
import re
|
4 |
import subprocess
|
|
|
25 |
return True, result.stdout.strip()
|
26 |
else:
|
27 |
error_msg = result.stderr.strip()
|
28 |
+
msgs = error_msg.split("
|
29 |
+
")
|
30 |
new_msgs = []
|
31 |
want_next = False
|
32 |
for m in msgs:
|
|
|
44 |
elif want_next:
|
45 |
new_msgs.append(m)
|
46 |
want_next = False
|
47 |
+
return False, "
|
48 |
+
".join(new_msgs).strip()
|
49 |
|
50 |
def __call__(self, query):
|
51 |
+
query = "import math
|
52 |
+
import numpy as np
|
53 |
+
import sympy as sp
|
54 |
+
" + query
|
55 |
+
query = query.strip().split("
|
56 |
+
")
|
57 |
if "print(" not in query[-1]:
|
58 |
if "#" in query[-1]:
|
59 |
query[-1] = query[-1].split("#")[0]
|
60 |
query[-1] = "print(" + query[-1] + ")"
|
61 |
+
query = "
|
62 |
+
".join(query)
|
63 |
|
64 |
with tempfile.TemporaryDirectory() as temp_dir:
|
65 |
temp_file_path = os.path.join(temp_dir, "tmp.py")
|
|
|
120 |
return 0
|
121 |
c = Counter(answers)
|
122 |
value, _ = c.most_common()[0]
|
123 |
+
return value
|
124 |
+
|