Skip to content
Snippets Groups Projects
Commit 2f2fd458 authored by Max Kimmich's avatar Max Kimmich
Browse files

Fix unique paraphrase generation

parent e084da75
No related branches found
No related tags found
No related merge requests found
......@@ -43,9 +43,19 @@ def paraphrase_prompts(
total_usage += usage
if "<prompt>" in paraphrase:
paraphrase = paraphrase.split("<prompt>")[1].split("</prompt>")[0]
if not unique_paraphrases or paraphrase not in paraphrases:
if (
not unique_paraphrases
or paraphrase not in paraphrases
or max_tries - num_tries == n - len(paraphrases)
):
# add paraphrase only if not already present if unique_paraphrases==True
paraphrases.append(paraphrase)
assert len(paraphrases) == n, "Requested %d paraphrases, but %d were generated." % (
n,
len(paraphrases),
)
if return_only_unique_paraphrases:
paraphrases = list(set(paraphrases))
return paraphrases, total_usage
......@@ -156,7 +166,11 @@ class PromptOptimization:
unique_paraphrases=True,
)
self.total_evolution_usage += paraphrase_usage
logger.info("Paraphrased prompt '%s': %s.", self.task.base_prompt.replace("\r", "\\r").replace("\n", "\\n"), paraphrases)
logger.info(
"Paraphrased prompt '%s': %s.",
self.task.base_prompt.replace("\r", "\\r").replace("\n", "\\n"),
paraphrases,
)
# the initial prompts
initial_prompts = [self.task.base_prompt] + paraphrases
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment