in 3_optimization-design-ptn/03_prompt-optimization/promptwizard/glue/promptopt/techniques/common_logic.py [0:0]
def collate_to_str(self, examples: List, example_template: str) -> str:
"""
Take as input a list of examples. Populate common template with values in these examples. Concatenate all of
them to a single string, which can then be passed to LLM as prompt.
:param examples: List of examples
:param example_template: A template of giving examples to LLM as part of few shot learning
:return: Concatenated string of all examples over the template.
"""
example_string = ""
for example in examples:
answer = example[DatasetSpecificProcessing.FINAL_ANSWER_LITERAL]
if DatasetSpecificProcessing.ANSWER_WITH_REASON_LITERAL in example:
answer = example[DatasetSpecificProcessing.ANSWER_WITH_REASON_LITERAL]
example_string += example_template.format(question=example[DatasetSpecificProcessing.QUESTION_LITERAL],
answer=answer)
return example_string