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

Allow to generate unique paraphrases

parent 5b1c997f
No related branches found
No related tags found
No related merge requests found
......@@ -18,14 +18,17 @@ def paraphrase_prompts(
model: LLMModel,
prompt: str,
n: int,
unique_prompts: bool = False,
num_tries: int = 10,
return_only_unique_prompts: bool = False,
unique_paraphrases: bool = False,
max_tries: int = 10,
return_only_unique_paraphrases: bool = False,
):
# TODO implement unique paraphrases
total_usage = ModelUsage()
paraphrases = []
for _ in range(n):
num_tries = 0
while len(paraphrases) < n:
if num_tries >= max_tries:
break
num_tries += 1
paraphrase, usage = model(
system_message=PARAPHRASE_PROMPT,
prompt=prompt,
......@@ -35,10 +38,12 @@ def paraphrase_prompts(
total_usage += usage
if "<prompt>" in paraphrase:
paraphrase = paraphrase.split("<prompt>")[1].split("</prompt>")[0]
paraphrases.append(paraphrase)
if return_only_unique_prompts:
if not unique_paraphrases or paraphrase not in paraphrases:
# add paraphrase only if not already present if unique_paraphrases==True
paraphrases.append(paraphrase)
if return_only_unique_paraphrases:
paraphrases = list(set(paraphrases))
return paraphrases, usage
return paraphrases, total_usage
class PromptOptimization:
......
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