diff --git a/prophet/domain/improvement_repo.py b/prophet/domain/improvement_repo.py index 4d1a016..14b750c 100644 --- a/prophet/domain/improvement_repo.py +++ b/prophet/domain/improvement_repo.py @@ -17,7 +17,7 @@ class IImprovementRepo(Protocol): def get(self, id: str) -> Improvement: raise NotImplementedError - def get_all(self, last_n: int | None = None) -> list[Improvement]: + def get_all(self) -> list[Improvement]: raise NotImplementedError def remove(self, id: str) -> Improvement: diff --git a/prophet/domain/llm.py b/prophet/domain/llm.py index 18aa936..0f32610 100644 --- a/prophet/domain/llm.py +++ b/prophet/domain/llm.py @@ -5,9 +5,7 @@ from prophet.domain.original import Original class LLMClient(Protocol): - def rewrite( - self, original: Original, previous_titles: list[str] | None = None - ) -> Improvement: + def rewrite(self, original: Original) -> Improvement: raise NotImplementedError def rewrite_title( diff --git a/prophet/infra/improvement_supa_repo.py b/prophet/infra/improvement_supa_repo.py index e1b3219..18f691e 100644 --- a/prophet/infra/improvement_supa_repo.py +++ b/prophet/infra/improvement_supa_repo.py @@ -48,22 +48,15 @@ class ImprovementSupaRepo(IImprovementRepo): ) @override - def get_all(self, last_n: int | None = None) -> list[Improvement]: - if not last_n: - sql = ( - self.client.table(self.config.TABLE) - .select("*") - .order("date_orig_ts", desc=True) - ) - else: - sql = ( - self.client.table(self.config.TABLE) - .select("*") - .order("date_orig_ts", desc=True) - .limit(last_n) - ) - - return [self._from_tbl_row(row) for row in sql.execute().data] + def get_all(self) -> list[Improvement]: + return [ + self._from_tbl_row(row) + for row in self.client.table(self.config.TABLE) + .select("*") + .order("date_orig_ts", desc=True) + .execute() + .data + ] @override def remove(self, id: str) -> Improvement: @@ -117,7 +110,6 @@ class ImprovementSupaRepo(IImprovementRepo): if __name__ == "__main__": # response = supabase.table("improvements").select("*").execute() repo = ImprovementSupaRepo() - print("latest entries:\n- ", "\n- ".join([imp.title for imp in repo.get_all(3)])) # from prophet.app import grab_latest_originals # latest = grab_latest_originals() diff --git a/prophet/infra/llm_groq.py b/prophet/infra/llm_groq.py index 60dc29b..f528208 100644 --- a/prophet/infra/llm_groq.py +++ b/prophet/infra/llm_groq.py @@ -21,9 +21,7 @@ class GroqClient(LLMClient): self.client = client if client else Groq(api_key=self.config_ai.API_KEY) @override - def rewrite( - self, original: Original, previous_titles: list[str] | None = None - ) -> Improvement: + def rewrite(self, original: Original) -> Improvement: suggestions = self.get_alternative_title_suggestions(original.title) new_title = self.rewrite_title(original.title, suggestions) new_summary = self.rewrite_summary(original, new_title) @@ -32,22 +30,18 @@ class GroqClient(LLMClient): @override def get_alternative_title_suggestions( - self, - original_content: str, - previous_titles: list[str] | None = None, - custom_prompt: str | None = None, + self, original_content: str, custom_prompt: str | None = None ) -> str: prompt = ( custom_prompt if custom_prompt - else f""" + else """ Political context: We are in the year 2025, Donald Trump is President of the United States again. There has been a crackdown on 'illegal' immigration, with controversial disappearings happening - almost every day by masked ICE agents. Many view the United States - as an increasingly fascist state, and the disappearings fueled by - racism. + almost every day. Many are calling the United States an + increasingly fascist state. You are a comedy writer at a left-leaning satirical newspaper. Improve on the following satirical headline. Your new headline is @@ -55,13 +49,6 @@ class GroqClient(LLMClient): It should be roughly the length of the original headline. Print only new suggestions, with one suggestion on each line. - Do not create a headline naming Trump if more than 2 of the - previous headlines already do so and he is not specifically - referenced in the original headline. - - {"The previous 5 headlines you created are the following:\n- " if previous_titles else ""} - {"\n- ".join(previous_titles) if previous_titles else ""} - """ ) suggestions = self.client.chat.completions.create(