Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Commit
·
69d683b
1
Parent(s):
5896fac
lfg
Browse files- src/routes/code_routes.py +32 -43
src/routes/code_routes.py
CHANGED
@@ -10,7 +10,6 @@ from scripts.format_response import execute_code_from_markdown, format_code_bloc
|
|
10 |
from src.utils.logger import Logger
|
11 |
from src.routes.session_routes import get_session_id_dependency
|
12 |
from src.agents.agents import code_edit, code_fix
|
13 |
-
from src.agents.deep_agents import score_code # IMPORT THE CORRECT score_code
|
14 |
from src.db.schemas.models import CodeExecution
|
15 |
from src.db.init_db import get_session
|
16 |
import dspy
|
@@ -64,48 +63,38 @@ logger = Logger("code_routes", see_time=True, console_log=False)
|
|
64 |
try_logger = Logger("try_code_routes", see_time=True, console_log=False)
|
65 |
|
66 |
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
#
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
#
|
88 |
-
|
89 |
-
#
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
#
|
95 |
-
|
96 |
-
#
|
97 |
-
|
98 |
-
#
|
99 |
-
#
|
100 |
-
# # Execute code in a new namespace
|
101 |
-
# local_vars = {}
|
102 |
-
# exec(cleaned_code, globals(), local_vars)
|
103 |
-
#
|
104 |
-
# # If we get here, code executed successfully
|
105 |
-
# return 1
|
106 |
-
#
|
107 |
-
# except Exception as e:
|
108 |
-
# return 0
|
109 |
|
110 |
|
111 |
# Remove the global refine_fixer declaration
|
|
|
10 |
from src.utils.logger import Logger
|
11 |
from src.routes.session_routes import get_session_id_dependency
|
12 |
from src.agents.agents import code_edit, code_fix
|
|
|
13 |
from src.db.schemas.models import CodeExecution
|
14 |
from src.db.init_db import get_session
|
15 |
import dspy
|
|
|
63 |
try_logger = Logger("try_code_routes", see_time=True, console_log=False)
|
64 |
|
65 |
|
66 |
+
def score_code(args, code, datasets=None):
|
67 |
+
"""
|
68 |
+
Simple code scorer that checks if code runs successfully.
|
69 |
+
Handles both deep analysis (combined_code) and fix (fixed_code) scenarios.
|
70 |
+
|
71 |
+
Args:
|
72 |
+
args: Arguments (unused but required for dspy.Refine)
|
73 |
+
code: Code object with combined_code, fixed_code, or string content
|
74 |
+
datasets: Dictionary of datasets from session state (optional)
|
75 |
+
|
76 |
+
Returns:
|
77 |
+
int: Score (0=error, 1=success)
|
78 |
+
"""
|
79 |
+
try:
|
80 |
+
# Handle different attribute names based on context
|
81 |
+
if hasattr(code, 'combined_code'):
|
82 |
+
code_to_execute = code.combined_code # Deep analysis
|
83 |
+
elif hasattr(code, 'fixed_code'):
|
84 |
+
code_to_execute = code.fixed_code # Code fix
|
85 |
+
else:
|
86 |
+
code_to_execute = str(code) # Fallback to string
|
87 |
+
|
88 |
+
# Make datasets available if provided
|
89 |
+
local_vars = {}
|
90 |
+
if datasets:
|
91 |
+
local_vars.update(datasets)
|
92 |
+
|
93 |
+
# Execute the code to test if it works
|
94 |
+
exec(code_to_execute, local_vars)
|
95 |
+
return 1 # Success
|
96 |
+
except Exception as e:
|
97 |
+
return 0 # Error
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
|
99 |
|
100 |
# Remove the global refine_fixer declaration
|