Skip to content

Commit e33ff21

Browse files
merge main
1 parent 48d6ccd commit e33ff21

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

codeflash/api/aiservice.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ def optimize_python_code_refinement(self, request: list[AIServiceRefinerRequest]
249249
}
250250
for opt in request
251251
]
252-
logger.info(f"Refining {len(request)} optimizations…")
252+
logger.debug(f"Refining {len(request)} optimizations…")
253253
console.rule()
254254
try:
255255
response = self.make_ai_service_request("/refinement", payload=payload, timeout=600)
@@ -260,7 +260,7 @@ def optimize_python_code_refinement(self, request: list[AIServiceRefinerRequest]
260260

261261
if response.status_code == 200:
262262
refined_optimizations = response.json()["refinements"]
263-
logger.info(f"Generated {len(refined_optimizations)} candidate refinements.")
263+
logger.debug(f"Generated {len(refined_optimizations)} candidate refinements.")
264264
console.rule()
265265
return [
266266
OptimizedCandidate(
@@ -340,7 +340,6 @@ def get_new_explanation( # noqa: D417
340340

341341
if response.status_code == 200:
342342
explanation: str = response.json()["explanation"]
343-
logger.debug(f"New Explanation: {explanation}")
344343
console.rule()
345344
return explanation
346345
try:

codeflash/api/cfapi.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,8 @@ def create_staging(
204204
generated_original_test_source: str,
205205
function_trace_id: str,
206206
coverage_message: str,
207+
replay_tests: str = "",
208+
concolic_tests: str = "",
207209
) -> Response:
208210
"""Create a staging pull request, targeting the specified branch. (usually 'staging').
209211
@@ -244,6 +246,8 @@ def create_staging(
244246
"generatedTests": generated_original_test_source,
245247
"traceId": function_trace_id,
246248
"coverage_message": coverage_message,
249+
"replayTests": replay_tests,
250+
"concolicTests": concolic_tests,
247251
}
248252

249253
return make_cfapi_request(endpoint="/create-staging", method="POST", payload=payload)

codeflash/optimization/function_optimizer.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,9 @@ def determine_best_candidate(
440440
# check if this code has been evaluated before by checking the ast normalized code string
441441
normalized_code = ast.unparse(ast.parse(candidate.source_code.flat.strip()))
442442
if normalized_code in ast_code_to_id:
443+
logger.warning(
444+
"Current candidate has been encountered before in testing, Skipping optimization candidate."
445+
)
443446
past_opt_id = ast_code_to_id[normalized_code]["optimization_id"]
444447
# update speedup ratio, is_correct, optimizations_post, optimized_line_profiler_results, optimized_runtimes
445448
speedup_ratios[candidate.optimization_id] = speedup_ratios[past_opt_id]
@@ -588,8 +591,10 @@ def determine_best_candidate(
588591
if len(possible_refinement) > 0: # if the api returns a valid response
589592
refinement_response.append(possible_refinement[0])
590593
candidates.extend(refinement_response)
591-
logger.info(f"Added {len(refinement_response)} candidates from refinement")
592594
original_len += len(refinement_response)
595+
logger.info(
596+
f"Added {len(refinement_response)} candidates from refinement, total candidates now: {original_len}"
597+
)
593598
refinement_done = True
594599
except KeyboardInterrupt as e:
595600
self.write_code_and_helpers(
@@ -1099,11 +1104,6 @@ def find_and_process_best_optimization(
10991104
if best_optimization:
11001105
logger.info("Best candidate:")
11011106
code_print(best_optimization.candidate.source_code.flat)
1102-
console.print(
1103-
Panel(
1104-
best_optimization.candidate.explanation, title="Best Candidate Explanation", border_style="blue"
1105-
)
1106-
)
11071107
processed_benchmark_info = None
11081108
if self.args.benchmark:
11091109
processed_benchmark_info = process_benchmark_data(
@@ -1227,7 +1227,11 @@ def process_review(
12271227
file_path=explanation.file_path,
12281228
benchmark_details=explanation.benchmark_details,
12291229
)
1230+
12301231
best_optimization.candidate.set_explanation(new_explanation)
1232+
1233+
console.print(Panel(new_explanation_raw_str, title="Best Candidate Explanation", border_style="blue"))
1234+
12311235
data = {
12321236
"original_code": original_code_combined,
12331237
"new_code": new_code_combined,

0 commit comments

Comments
 (0)