diff --git a/codeflash/optimization/function_optimizer.py b/codeflash/optimization/function_optimizer.py index 8aaf11ec5..ad13c877c 100644 --- a/codeflash/optimization/function_optimizer.py +++ b/codeflash/optimization/function_optimizer.py @@ -20,7 +20,7 @@ from rich.tree import Tree from codeflash.api.aiservice import AiServiceClient, AIServiceRefinerRequest, LocalAiServiceClient -from codeflash.api.cfapi import add_code_context_hash, create_staging, mark_optimization_success +from codeflash.api.cfapi import CFAPI_BASE_URL, add_code_context_hash, create_staging, mark_optimization_success from codeflash.benchmarking.utils import process_benchmark_data from codeflash.cli_cmds.console import code_print, console, logger, lsp_log, progress_bar from codeflash.code_utils import env_utils @@ -1475,7 +1475,7 @@ def process_review( elif staging_review: response = create_staging(**data) if response.status_code == 200: - staging_url = f"https://app.codeflash.ai/review-optimizations/{self.function_trace_id[:-4] + exp_type if self.experiment_id else self.function_trace_id}" + staging_url = f"{CFAPI_BASE_URL}/review-optimizations/{self.function_trace_id[:-4] + exp_type if self.experiment_id else self.function_trace_id}" console.print( Panel( f"[bold green]✅ Staging created:[/bold green]\n[link={staging_url}]{staging_url}[/link]", diff --git a/codeflash/result/common_tags.py b/codeflash/result/common_tags.py new file mode 100644 index 000000000..504cb5cd6 --- /dev/null +++ b/codeflash/result/common_tags.py @@ -0,0 +1,11 @@ +from __future__ import annotations + + +def find_common_tags(articles: list[dict[str, list[str]]]) -> set[str]: + if not articles: + return set() + + common_tags = articles[0].get("tags", []) + for article in articles[1:]: + common_tags = [tag for tag in common_tags if tag in article.get("tags", [])] + return set(common_tags) diff --git a/tests/test_common_tags.py b/tests/test_common_tags.py new file mode 100644 index 000000000..754261b55 --- /dev/null +++ b/tests/test_common_tags.py @@ -0,0 +1,22 @@ +from codeflash.result.common_tags import find_common_tags + + +def test_common_tags_1() -> None: + articles_1 = [ + {"title": "Article 1", "tags": ["Python", "AI", "ML"]}, + {"title": "Article 2", "tags": ["Python", "Data Science", "AI"]}, + {"title": "Article 3", "tags": ["Python", "AI", "Big Data"]}, + ] + + expected = {"Python", "AI"} + + assert find_common_tags(articles_1) == expected + + articles_2 = [ + {"title": "Article 1", "tags": ["Python", "AI", "ML"]}, + {"title": "Article 2", "tags": ["Python", "Data Science", "AI"]}, + {"title": "Article 3", "tags": ["Python", "AI", "Big Data"]}, + {"title": "Article 4", "tags": ["Python", "AI", "ML"]}, + ] + + assert find_common_tags(articles_2) == expected