Spaces:
Runtime error
Runtime error
import itertools | |
personality_types = [["extroverted", "introverted"], ["agreeable", "antagonistic"], ["conscientious", "unconscientious"], ["neurotic", "emotionally stable"], ["open to experience", "closed to experience"]] | |
def construct_big_five_words(persona_type: list): | |
"""Construct the list of personality traits | |
e.g., introverted + antagonistic + conscientious + emotionally stable + open to experience | |
""" | |
options = list(persona_type) | |
assert options[0] in ["extroverted", "introverted"], "Invalid personality type" | |
assert options[1] in ["agreeable", "antagonistic"], "Invalid personality type" | |
assert options[2] in ["conscientious", "unconscientious"], "Invalid personality type" | |
assert options[3] in ["neurotic", "emotionally stable"], "Invalid personality type" | |
assert options[4] in ["open to experience", "closed to experience"], "Invalid personality type" | |
last_item = "and " + options[-1] | |
options[-1] = last_item | |
return ", ".join(options) | |
def build_personality_prompt(persona_type: list): | |
return "You are a character who is {}.".format(construct_big_five_words(persona_type)) | |
if __name__ == "__main__": | |
count = 0 | |
for persona_type in itertools.product(*personality_types): | |
system_prompt = "You are a character who is {}.".format(construct_big_five_words(persona_type)) | |
print(system_prompt) | |
print("\n") | |
count += 1 | |
if count == 5: | |
break | |