Skip to content
5 changes: 5 additions & 0 deletions codeflash/api/aiservice.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from codeflash.models.ExperimentMetadata import ExperimentMetadata
from codeflash.models.models import AIServiceRefinerRequest, CodeStringsMarkdown, OptimizedCandidate
from codeflash.telemetry.posthog_cf import ph
from codeflash.version import __version__
from codeflash.version import __version__ as codeflash_version

if TYPE_CHECKING:
Expand Down Expand Up @@ -308,6 +309,7 @@ def get_new_explanation( # noqa: D417
original_throughput: str | None = None,
optimized_throughput: str | None = None,
throughput_improvement: str | None = None,
codeflash_version: str = codeflash_version,
) -> str:
"""Optimize the given python code for performance by making a request to the Django endpoint.

Expand All @@ -327,6 +329,7 @@ def get_new_explanation( # noqa: D417
- original_throughput: str | None - throughput for the baseline code (operations per second)
- optimized_throughput: str | None - throughput for the optimized code (operations per second)
- throughput_improvement: str | None - throughput improvement percentage
- current codeflash version

Returns
-------
Expand All @@ -349,6 +352,7 @@ def get_new_explanation( # noqa: D417
"original_throughput": original_throughput,
"optimized_throughput": optimized_throughput,
"throughput_improvement": throughput_improvement,
"codeflash_version": codeflash_version,
}
logger.info("loading|Generating explanation")
console.rule()
Expand Down Expand Up @@ -591,6 +595,7 @@ def get_optimization_impact(
"benchmark_details": explanation.benchmark_details if explanation.benchmark_details else None,
"optimized_runtime": humanize_runtime(explanation.best_runtime_ns),
"original_runtime": humanize_runtime(explanation.original_runtime_ns),
"codeflash_version": __version__,
}
console.rule()
try:
Expand Down
12 changes: 8 additions & 4 deletions codeflash/optimization/function_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@
from codeflash.verification.test_runner import run_behavioral_tests, run_benchmarking_tests, run_line_profile_tests
from codeflash.verification.verification_utils import get_test_file_path
from codeflash.verification.verifier import generate_tests
from codeflash.version import __version__

if TYPE_CHECKING:
from argparse import Namespace
Expand Down Expand Up @@ -1379,11 +1380,13 @@ def process_review(
generated_tests, original_runtime_by_test, optimized_runtime_by_test
)

generated_tests_str = "\n#------------------------------------------------\n".join(
[test.generated_original_test_source for test in generated_tests.generated_tests]
)
generated_tests_str = ""
for test in generated_tests.generated_tests:
generated_tests_str += f"```python\n{test.generated_original_test_source}\n```"
generated_tests_str += "\n\n"

if concolic_test_str:
generated_tests_str += "\n#------------------------------------------------\n" + concolic_test_str
generated_tests_str += f"```python\n{concolic_test_str}\n```\n\n"

existing_tests, replay_tests, concolic_tests = existing_tests_source_for(
self.function_to_optimize.qualified_name_with_modules_from_root(self.project_root),
Expand Down Expand Up @@ -1425,6 +1428,7 @@ def process_review(
original_throughput=original_throughput_str,
optimized_throughput=optimized_throughput_str,
throughput_improvement=throughput_improvement_str,
codeflash_version=__version__,
)
new_explanation = Explanation(
raw_explanation_message=new_explanation_raw_str or explanation.raw_explanation_message,
Expand Down
Loading