Skip to content

Commit 9068bff

Browse files
committed
works for ab testing
1 parent b775a84 commit 9068bff

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

codeflash/optimization/function_optimizer.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,8 @@ def optimize_function(self) -> Result[BestOptimization, str]:
235235
# request for new optimizations but don't block execution, check for completion later
236236
# adding to control and experiment set but with same traceid
237237
best_optimization = None
238-
239-
for _u, candidates in enumerate([optimizations_set.control, optimizations_set.experiment]):
238+
run_experiment = self.experiment_id is not None
239+
for _u, (candidates,exp_type) in enumerate(zip([optimizations_set.control, optimizations_set.experiment],["EXP0","EXP1"])):
240240
if candidates is None:
241241
continue
242242

@@ -246,6 +246,8 @@ def optimize_function(self) -> Result[BestOptimization, str]:
246246
original_code_baseline=original_code_baseline,
247247
original_helper_code=original_helper_code,
248248
file_path_to_helper_classes=file_path_to_helper_classes,
249+
exp_type=exp_type,
250+
run_experiment=run_experiment,
249251
)
250252
ph("cli-optimize-function-finished", {"function_trace_id": self.function_trace_id})
251253

@@ -346,6 +348,8 @@ def determine_best_candidate(
346348
original_code_baseline: OriginalCodeBaseline,
347349
original_helper_code: dict[Path, str],
348350
file_path_to_helper_classes: dict[Path, set[str]],
351+
exp_type: str,
352+
run_experiment: bool
349353
) -> BestOptimization | None:
350354
best_optimization: BestOptimization | None = None
351355
best_runtime_until_now = original_code_baseline.runtime
@@ -367,7 +371,7 @@ def determine_best_candidate(
367371
self.aiservice_client.optimize_python_code_line_profiler,
368372
source_code=code_context.read_writable_code,
369373
dependency_code=code_context.read_only_context_code,
370-
trace_id=self.function_trace_id,
374+
trace_id=self.function_trace_id[:-4] + exp_type if run_experiment else self.function_trace_id,
371375
line_profiler_results=original_code_baseline.line_profile_results["str_out"],
372376
num_candidates=10,
373377
experiment_metadata=None,
@@ -377,7 +381,6 @@ def determine_best_candidate(
377381
done = False
378382
original_len = len(candidates)
379383
while candidates:
380-
# for candidate_index, candidate in enumerate(candidates, start=1):
381384
done = True if future_line_profile_results is None else future_line_profile_results.done()
382385
if done and (future_line_profile_results is not None):
383386
line_profile_results = future_line_profile_results.result()

0 commit comments

Comments
 (0)