Zekun Wu commited on
Commit
81ba3a5
·
1 Parent(s): d079e5c
Files changed (3) hide show
  1. app.py +181 -63
  2. example_data.json +132 -131
  3. prompts.json +23 -0
app.py CHANGED
@@ -9,47 +9,145 @@ client = AzureOpenAI(azure_endpoint = "https://personalityanalysisfinetuning.ope
9
 
10
 
11
  example_profile = {
12
- 'main_profile': {'VISION': {'score': 'AVERAGE',
13
- 'summary': 'Sees the ‘big picture’ and maintains line of sight'},
14
- 'INTEGRITY': {'score': 'LOW',
15
- 'summary': 'Genuine, honest and straightforward. Authentic'},
16
- 'AUTHORITY': {'score': 'HIGH',
17
- 'summary': 'Takes charge of situations; controls and directs'},
18
- 'INFLUENCE': {'score': 'HIGH',
19
- 'summary': 'Affects how others think and feel without control or direction'},
20
- 'IDEATION': {'score': 'AVERAGE',
21
- 'summary': 'Generates original and/or innovative ideas; makes unexpected connections'},
22
- 'OPPORTUNISM': {'score': 'HIGH',
23
- 'summary': 'Alert to opportunity; prepared to seize opportunities'},
24
- 'CONFIDENCE': {'score': 'HIGH',
25
- 'summary': 'Self-belief/confidence across different domains'},
26
- 'DRIVE': {'score': 'HIGH',
27
- 'summary': 'Strong desire to accomplish goals. Propensity to act decisively and get things done.'},
28
- 'DISCIPLINE': {'score': 'HIGH',
29
- 'summary': 'Planned rather than spontaneous behaviour. Attention to detail and accuracy. Organises and plans to achieve goals'},
30
- 'AGILITY': {'score': 'AVERAGE',
31
- 'summary': 'Switches easily between different cognitive processes. Comfortable with ill-defined problems and situations. Adaptable and constructive.'},
32
- 'RESILIENCE': {'score': 'HIGH',
33
- 'summary': 'Remains calm and optimistic under pressure. Perseveres in the face of adversity. Recovers from setbacks.'}},
34
- 'red_flag': {'HUBRIS': {'score': 'LOW',
35
- 'summary': 'Conceit and self-importance. Overestimation of knowledge and/or ability in respect of tasks. Misplaced belief in unique or exceptional abilities'},
36
- 'NARCISSISTIC': {'score': 'LOW',
37
- 'summary': 'Need and seek attention, flattery and affirmation. Unable to recognise and/or understand the feelings and needs of others. Expectation of special treatment'},
38
- 'MERCURIAL': {'score': 'LOW',
39
- 'summary': 'Given to sudden changes of mood, behaviour or direction. Given to unconventional or strange behaviour or beliefs. Difficult to predict and/or surprising.'},
40
- 'DOMINANT': {'score': 'LOW',
41
- 'summary': 'Forceful, insistent, domineering. Hostile and argumentative. Unyielding in the face of evidence or argument.'},
42
- 'MACHIAVELLIAN': {'score': 'LOW',
43
- 'summary': 'Deliberate deceitfulness in the pursuit on one’s interest; acting in bad faith. Ruthless pursuit of own interests regardless of considerations of right or wrong. General distrust of the motives of others; attribution of bad faith.'},
44
- 'RECKLESS': {'score': 'AVERAGE',
45
- 'summary': 'Acts without forethought. Acts without sufficient regard for consequences; rash. Fails to take proper care.'}},
46
- 'bio_information': {'Name': 'Pierre',
47
- 'Gender': 'Male',
48
- 'Age': 42,
49
- 'Nationality': 'French',
50
- 'Role': 'Chief Executive',
51
- 'Years_in_role': 2,
52
- 'Years_in_comparable_role': 8}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53
 
54
  # Function to generate a completion using OpenAI API
55
  # def generate_one_completion(message, temperature):
@@ -67,31 +165,38 @@ example_profile = {
67
 
68
  import json
69
 
70
- def generate_prompt_from_profile(profile, version="TestTakersSummary"):
71
  with open('prompts.json') as f:
72
  prompt_sets = json.load(f)['Prompts']
73
  prompt_templates = prompt_sets[version]
74
 
75
  try:
76
- # Fetching profile data
77
- individual_name = profile['bio_information'].get('Name', 'the individual')
78
 
79
- # Generating bio, profile, and red flags sections
80
- bio_section = "\n".join([f"- {k.replace('_', ' ').title()}: {v}" for k, v in profile['bio_information'].items()])
81
- main_profile_section = "\n".join([f"- {trait.title()}: {details['score']} - {details['summary']}" for trait, details in profile['main_profile'].items()])
82
- red_flags_section = "\n".join([f"- {trait.title()}: {details['score']} - {details['summary']}" for trait, details in profile['red_flag'].items()])
 
 
 
 
 
 
 
 
83
 
84
- # Replacing placeholders in the prompts
85
- prompts = [x.replace('{{INDIVIDUAL_NAME}}', individual_name).replace('{{BIO}}', bio_section).replace('{{PROFILE}}', main_profile_section).replace('{{REDFLAGS_PROFILE}}', red_flags_section) for x in prompt_templates]
 
 
86
 
87
- # Compiling final prompt
88
- prompt = "\n".join(prompts)
89
 
90
  except KeyError as e:
91
  return [{"role": "system", "content": f"Error processing profile data: missing {str(e)}"}]
92
 
93
  message = [
94
- {"role": "system", "content": prompt_sets[version][0]},
95
  {"role": "user", "content": prompt}
96
  ]
97
 
@@ -99,19 +204,30 @@ def generate_prompt_from_profile(profile, version="TestTakersSummary"):
99
 
100
 
101
  def display_profile_info(profile):
102
- main_profile = profile["main_profile"]
103
- red_flag = profile["red_flag"]
104
- bio_info = profile["bio_information"]
105
 
106
- st.sidebar.markdown("### Bio Information: ")
107
- st.sidebar.markdown("\n".join([f"- **{key.replace('_', ' ')}**: {value}" for key, value in bio_info.items()]))
108
- st.sidebar.markdown("### Main Profile: ")
109
- st.sidebar.markdown("\n".join([f"- **{attribute}**: {details['score']} - {details['summary']}" for attribute, details in main_profile.items()]))
110
- st.sidebar.markdown("### Red Flags: ")
111
- st.sidebar.markdown("\n".join([f"- **{attribute}**: {details['score']} - {details['summary']}" for attribute, details in red_flag.items()]))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
 
113
  def validate_json(profile):
114
- required_keys = ['bio_information', 'main_profile','red_flag']
115
  for key in required_keys:
116
  if key not in profile:
117
  return False, f"Key '{key}' is missing."
@@ -159,6 +275,8 @@ def main_app():
159
  #with st.spinner('Generating completion...'):
160
  prompt = generate_prompt_from_profile(profile, version=st.session_state['version'])
161
 
 
 
162
  with st.chat_message("assistant"):
163
  stream = client.chat.completions.create(
164
  model="personality_gpt4o",
 
9
 
10
 
11
  example_profile = {
12
+ "Team": [
13
+ {
14
+ "name": "JAMES ARTHUR",
15
+ "main_profile": {
16
+ "VISION": {
17
+ "score": "HIGH"
18
+ },
19
+ "IDEATION": {
20
+ "score": "HIGH"
21
+ },
22
+ "OPPORTUNISM": {
23
+ "score": "HIGH"
24
+ },
25
+ "DRIVE": {
26
+ "score": "HIGH"
27
+ },
28
+ "RESILIENCE": {
29
+ "score": "HIGH"
30
+ }
31
+ },
32
+ "red_flag": {
33
+ "HUBRIS": {
34
+ "score": "HIGH"
35
+ },
36
+ "MERCURIAL": {
37
+ "score": "LOW"
38
+ },
39
+ "DOMINANT": {
40
+ "score": "HIGH"
41
+ },
42
+ "MACHIAVELLIAN": {
43
+ "score": "AVERAGE"
44
+ }
45
+ }
46
+ },
47
+ {
48
+ "name": "LOUSIE HART",
49
+ "main_profile": {
50
+ "VISION": {
51
+ "score": "AVERAGE"
52
+ },
53
+ "IDEATION": {
54
+ "score": "AVERAGE"
55
+ },
56
+ "OPPORTUNISM": {
57
+ "score": "AVERAGE"
58
+ },
59
+ "DRIVE": {
60
+ "score": "HIGH"
61
+ },
62
+ "RESILIENCE": {
63
+ "score": "HIGH"
64
+ }
65
+ },
66
+ "red_flag": {
67
+ "HUBRIS": {
68
+ "score": "AVERAGE"
69
+ },
70
+ "MERCURIAL": {
71
+ "score": "LOW"
72
+ },
73
+ "DOMINANT": {
74
+ "score": "HIGH"
75
+ },
76
+ "MACHIAVELLIAN": {
77
+ "score": "LOW"
78
+ }
79
+ }
80
+ },
81
+ {
82
+ "name": "SIMONE LEVY",
83
+ "main_profile": {
84
+ "VISION": {
85
+ "score": "LOW"
86
+ },
87
+ "IDEATION": {
88
+ "score": "AVERAGE"
89
+ },
90
+ "OPPORTUNISM": {
91
+ "score": "LOW"
92
+ },
93
+ "DRIVE": {
94
+ "score": "AVERAGE"
95
+ },
96
+ "RESILIENCE": {
97
+ "score": "LOW"
98
+ }
99
+ },
100
+ "red_flag": {
101
+ "HUBRIS": {
102
+ "score": "LOW"
103
+ },
104
+ "MERCURIAL": {
105
+ "score": "LOW"
106
+ },
107
+ "DOMINANT": {
108
+ "score": "LOW"
109
+ },
110
+ "MACHIAVELLIAN": {
111
+ "score": "LOW"
112
+ }
113
+ }
114
+ },
115
+ {
116
+ "name": "Uri Lef",
117
+ "main_profile": {
118
+ "VISION": {
119
+ "score": "HIGH"
120
+ },
121
+ "IDEATION": {
122
+ "score": "HIGH"
123
+ },
124
+ "OPPORTUNISM": {
125
+ "score": "HIGH"
126
+ },
127
+ "DRIVE": {
128
+ "score": "AVERAGE"
129
+ },
130
+ "RESILIENCE": {
131
+ "score": "LOW"
132
+ }
133
+ },
134
+ "red_flag": {
135
+ "HUBRIS": {
136
+ "score": "AVERAGE"
137
+ },
138
+ "MERCURIAL": {
139
+ "score": "HIGH"
140
+ },
141
+ "DOMINANT": {
142
+ "score": "HIGH"
143
+ },
144
+ "MACHIAVELLIAN": {
145
+ "score": "AVERAGE"
146
+ }
147
+ }
148
+ }
149
+ ]
150
+ }
151
 
152
  # Function to generate a completion using OpenAI API
153
  # def generate_one_completion(message, temperature):
 
165
 
166
  import json
167
 
168
+ def generate_prompt_from_profile(profile, version="TeamSummary"):
169
  with open('prompts.json') as f:
170
  prompt_sets = json.load(f)['Prompts']
171
  prompt_templates = prompt_sets[version]
172
 
173
  try:
174
+ team_members = profile['Team']
 
175
 
176
+ team_member_profiles = []
177
+ for member in team_members:
178
+ profile = f"{member['name']}: Main Profile - VISION: {member['main_profile']['VISION']['score']}, " \
179
+ f"IDEATION: {member['main_profile']['IDEATION']['score']}, " \
180
+ f"OPPORTUNISM: {member['main_profile']['OPPORTUNISM']['score']}, " \
181
+ f"DRIVE: {member['main_profile']['DRIVE']['score']}, " \
182
+ f"RESILIENCE: {member['main_profile']['RESILIENCE']['score']}. " \
183
+ f"Red Flags - HUBRIS: {member['red_flag']['HUBRIS']['score']}, " \
184
+ f"MERCURIAL: {member['red_flag']['MERCURIAL']['score']}, " \
185
+ f"DOMINANT: {member['red_flag']['DOMINANT']['score']}, " \
186
+ f"MACHIAVELLIAN: {member['red_flag']['MACHIAVELLIAN']['score']}."
187
+ team_member_profiles.append(profile)
188
 
189
+ # Join the team member profiles into a single string
190
+ team_member_profiles_str = "\n".join(team_member_profiles)
191
+
192
+ prompt = prompt_templates[0].replace("{{TEAM_MEMBERS}}", team_member_profiles_str)
193
 
 
 
194
 
195
  except KeyError as e:
196
  return [{"role": "system", "content": f"Error processing profile data: missing {str(e)}"}]
197
 
198
  message = [
199
+ {"role": "system", "content": prompt_sets["System"][0]},
200
  {"role": "user", "content": prompt}
201
  ]
202
 
 
204
 
205
 
206
  def display_profile_info(profile):
 
 
 
207
 
208
+ st.markdown("### Profile Information:")
209
+ team_members = profile["Team"]
210
+ for member in team_members:
211
+ st.markdown(f"#### {member['name']}")
212
+ main_profile = member["main_profile"]
213
+ red_flag = member["red_flag"]
214
+ st.markdown("### Main Profile:")
215
+ st.markdown("\n".join([f"- **{attribute}**: {details['score']}" for attribute, details in main_profile.items()]))
216
+ st.markdown("### Red Flags:")
217
+ st.markdown("\n".join([f"- **{attribute}**: {details['score']}" for attribute, details in red_flag.items()]))
218
+ # main_profile = profile["main_profile"]
219
+ # red_flag = profile["red_flag"]
220
+ # bio_info = profile["bio_information"]
221
+ #
222
+ # st.sidebar.markdown("### Bio Information: ")
223
+ # st.sidebar.markdown("\n".join([f"- **{key.replace('_', ' ')}**: {value}" for key, value in bio_info.items()]))
224
+ # st.sidebar.markdown("### Main Profile: ")
225
+ # st.sidebar.markdown("\n".join([f"- **{attribute}**: {details['score']} - {details['summary']}" for attribute, details in main_profile.items()]))
226
+ # st.sidebar.markdown("### Red Flags: ")
227
+ # st.sidebar.markdown("\n".join([f"- **{attribute}**: {details['score']} - {details['summary']}" for attribute, details in red_flag.items()]))
228
 
229
  def validate_json(profile):
230
+ required_keys = ['Team']
231
  for key in required_keys:
232
  if key not in profile:
233
  return False, f"Key '{key}' is missing."
 
275
  #with st.spinner('Generating completion...'):
276
  prompt = generate_prompt_from_profile(profile, version=st.session_state['version'])
277
 
278
+
279
+
280
  with st.chat_message("assistant"):
281
  stream = client.chat.completions.create(
282
  model="personality_gpt4o",
example_data.json CHANGED
@@ -12,143 +12,144 @@
12
  "MERCURIAL": "Given to sudden changes of mood, behaviour or direction, Given to unconventional or strange behaviour or beliefs, Difficult to predict and/or surprising",
13
  "DOMINANT": "Forceful, insistent, domineering, Hostile and argumentative, Unyielding in the face of evidence or argument",
14
  "MACHIAVELLIAN": "Deliberate deceitfulness in the pursuit on one’s interest; acting in bad faith, Ruthless pursuit of own interests regardless of considerations of right or wrong, General distrust of the motives of others; attribution of bad faith"
15
- },
16
- "Team": [
17
- {
18
- "name": "JAMES ARTHUR",
19
- "main_profile": {
20
- "VISION": {
21
- "score": "HIGH"
22
- },
23
- "IDEATION": {
24
- "score": "HIGH"
25
- },
26
- "OPPORTUNISM": {
27
- "score": "HIGH"
28
- },
29
- "DRIVE": {
30
- "score": "HIGH"
31
- },
32
- "RESILIENCE": {
33
- "score": "HIGH"
34
- }
35
- },
36
- "red_flag": {
37
- "HUBRIS": {
38
- "score": "HIGH"
39
- },
40
- "MERCURIAL": {
41
- "score": "LOW"
42
- },
43
- "DOMINANT": {
44
- "score": "HIGH"
45
- },
46
- "MACHIAVELLIAN": {
47
- "score": "AVERAGE"
48
- }
49
  }
50
  },
51
- {
52
- "name": "LOUSIE HART",
53
- "main_profile": {
54
- "VISION": {
55
- "score": "AVERAGE"
56
- },
57
- "IDEATION": {
58
- "score": "AVERAGE"
59
- },
60
- "OPPORTUNISM": {
61
- "score": "AVERAGE"
62
- },
63
- "DRIVE": {
64
- "score": "HIGH"
65
- },
66
- "RESILIENCE": {
67
- "score": "HIGH"
68
- }
69
- },
70
- "red_flag": {
71
- "HUBRIS": {
72
- "score": "AVERAGE"
73
- },
74
- "MERCURIAL": {
75
- "score": "LOW"
76
- },
77
- "DOMINANT": {
78
- "score": "HIGH"
79
- },
80
- "MACHIAVELLIAN": {
81
- "score": "LOW"
82
- }
83
  }
84
  },
85
- {
86
- "name": "SIMONE LEVY",
87
- "main_profile": {
88
- "VISION": {
89
- "score": "LOW"
90
- },
91
- "IDEATION": {
92
- "score": "AVERAGE"
93
- },
94
- "OPPORTUNISM": {
95
- "score": "LOW"
96
- },
97
- "DRIVE": {
98
- "score": "AVERAGE"
99
- },
100
- "RESILIENCE": {
101
- "score": "LOW"
102
- }
103
- },
104
- "red_flag": {
105
- "HUBRIS": {
106
- "score": "LOW"
107
- },
108
- "MERCURIAL": {
109
- "score": "LOW"
110
- },
111
- "DOMINANT": {
112
- "score": "LOW"
113
- },
114
- "MACHIAVELLIAN": {
115
- "score": "LOW"
116
- }
117
  }
118
  },
119
- {
120
- "name": "Uri Lef",
121
- "main_profile": {
122
- "VISION": {
123
- "score": "HIGH"
124
- },
125
- "IDEATION": {
126
- "score": "HIGH"
127
- },
128
- "OPPORTUNISM": {
129
- "score": "HIGH"
130
- },
131
- "DRIVE": {
132
- "score": "AVERAGE"
133
- },
134
- "RESILIENCE": {
135
- "score": "LOW"
136
- }
137
- },
138
- "red_flag": {
139
- "HUBRIS": {
140
- "score": "AVERAGE"
141
- },
142
- "MERCURIAL": {
143
- "score": "HIGH"
144
- },
145
- "DOMINANT": {
146
- "score": "HIGH"
147
- },
148
- "MACHIAVELLIAN": {
149
- "score": "AVERAGE"
150
- }
151
  }
152
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
  }
154
- }
 
 
 
12
  "MERCURIAL": "Given to sudden changes of mood, behaviour or direction, Given to unconventional or strange behaviour or beliefs, Difficult to predict and/or surprising",
13
  "DOMINANT": "Forceful, insistent, domineering, Hostile and argumentative, Unyielding in the face of evidence or argument",
14
  "MACHIAVELLIAN": "Deliberate deceitfulness in the pursuit on one’s interest; acting in bad faith, Ruthless pursuit of own interests regardless of considerations of right or wrong, General distrust of the motives of others; attribution of bad faith"
15
+ }
16
+ },
17
+ "Team": [
18
+ {
19
+ "name": "JAMES ARTHUR",
20
+ "main_profile": {
21
+ "VISION": {
22
+ "score": "HIGH"
23
+ },
24
+ "IDEATION": {
25
+ "score": "HIGH"
26
+ },
27
+ "OPPORTUNISM": {
28
+ "score": "HIGH"
29
+ },
30
+ "DRIVE": {
31
+ "score": "HIGH"
32
+ },
33
+ "RESILIENCE": {
34
+ "score": "HIGH"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  }
36
  },
37
+ "red_flag": {
38
+ "HUBRIS": {
39
+ "score": "HIGH"
40
+ },
41
+ "MERCURIAL": {
42
+ "score": "LOW"
43
+ },
44
+ "DOMINANT": {
45
+ "score": "HIGH"
46
+ },
47
+ "MACHIAVELLIAN": {
48
+ "score": "AVERAGE"
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "name": "LOUSIE HART",
54
+ "main_profile": {
55
+ "VISION": {
56
+ "score": "AVERAGE"
57
+ },
58
+ "IDEATION": {
59
+ "score": "AVERAGE"
60
+ },
61
+ "OPPORTUNISM": {
62
+ "score": "AVERAGE"
63
+ },
64
+ "DRIVE": {
65
+ "score": "HIGH"
66
+ },
67
+ "RESILIENCE": {
68
+ "score": "HIGH"
69
  }
70
  },
71
+ "red_flag": {
72
+ "HUBRIS": {
73
+ "score": "AVERAGE"
74
+ },
75
+ "MERCURIAL": {
76
+ "score": "LOW"
77
+ },
78
+ "DOMINANT": {
79
+ "score": "HIGH"
80
+ },
81
+ "MACHIAVELLIAN": {
82
+ "score": "LOW"
83
+ }
84
+ }
85
+ },
86
+ {
87
+ "name": "SIMONE LEVY",
88
+ "main_profile": {
89
+ "VISION": {
90
+ "score": "LOW"
91
+ },
92
+ "IDEATION": {
93
+ "score": "AVERAGE"
94
+ },
95
+ "OPPORTUNISM": {
96
+ "score": "LOW"
97
+ },
98
+ "DRIVE": {
99
+ "score": "AVERAGE"
100
+ },
101
+ "RESILIENCE": {
102
+ "score": "LOW"
103
  }
104
  },
105
+ "red_flag": {
106
+ "HUBRIS": {
107
+ "score": "LOW"
108
+ },
109
+ "MERCURIAL": {
110
+ "score": "LOW"
111
+ },
112
+ "DOMINANT": {
113
+ "score": "LOW"
114
+ },
115
+ "MACHIAVELLIAN": {
116
+ "score": "LOW"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
118
  }
119
+ },
120
+ {
121
+ "name": "Uri Lef",
122
+ "main_profile": {
123
+ "VISION": {
124
+ "score": "HIGH"
125
+ },
126
+ "IDEATION": {
127
+ "score": "HIGH"
128
+ },
129
+ "OPPORTUNISM": {
130
+ "score": "HIGH"
131
+ },
132
+ "DRIVE": {
133
+ "score": "AVERAGE"
134
+ },
135
+ "RESILIENCE": {
136
+ "score": "LOW"
137
+ }
138
+ },
139
+ "red_flag": {
140
+ "HUBRIS": {
141
+ "score": "AVERAGE"
142
+ },
143
+ "MERCURIAL": {
144
+ "score": "HIGH"
145
+ },
146
+ "DOMINANT": {
147
+ "score": "HIGH"
148
+ },
149
+ "MACHIAVELLIAN": {
150
+ "score": "AVERAGE"
151
+ }
152
  }
153
+ }
154
+ ]
155
+ }
prompts.json CHANGED
@@ -1,6 +1,29 @@
1
  {
2
  "Prompts": {
3
  "System" : ["You are an expert in career advice and personality consultant. Do not infer or assume information beyond what's explicitly provided in the conversation. Avoid drawing on external knowledge or making generalizations not directly supported by the report content. Do not answer unrelevant questions."],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  "TestTakersSummary": [
5
  "Analyze {{INDIVIDUAL_NAME}}'s profile in ### Bio Information ###, ## Main Profile ###, ### Red Flags Profile ###, and answer the ### Questions ### with around 800 words length.",
6
  "### Bio Information of {{INDIVIDUAL_NAME}} ###",
 
1
  {
2
  "Prompts": {
3
  "System" : ["You are an expert in career advice and personality consultant. Do not infer or assume information beyond what's explicitly provided in the conversation. Avoid drawing on external knowledge or making generalizations not directly supported by the report content. Do not answer unrelevant questions."],
4
+ "TeamSummary": [
5
+ "Analyze the profiles of team members in ### Descriptions ###, ### Team Members ###, and answer the ### Questions ### in around 800 words.",
6
+ "### Descriptions ###",
7
+ "#### Main Profile Descriptions ####",
8
+ "VISION: Sees the ‘big picture’ and maintains line of sight. Alignment of goals and actions.",
9
+ "IDEATION: Generates original and/or innovative ideas; makes unexpected connections.",
10
+ "OPPORTUNISM: Alert to opportunity; prepared to seize opportunities.",
11
+ "DRIVE: Strong desire to accomplish goals, Propensity to act decisively and get things done; proactive rather than reactive.",
12
+ "RESILIENCE: Remains calm and optimistic under pressure, Perseveres in the face of adversity, Recovers from setbacks.",
13
+ "#### Red Flag Descriptions ####",
14
+ "HUBRIS: Conceit and self-importance, Overestimation of knowledge and/or ability in respect of tasks, Misplaced belief in unique or exceptional abilities.",
15
+ "MERCURIAL: Given to sudden changes of mood, behaviour or direction, Given to unconventional or strange behaviour or beliefs, Difficult to predict and/or surprising.",
16
+ "DOMINANT: Forceful, insistent, domineering, Hostile and argumentative, Unyielding in the face of evidence or argument.",
17
+ "MACHIAVELLIAN: Deliberate deceitfulness in the pursuit on one’s interest; acting in bad faith, Ruthless pursuit of own interests regardless of considerations of right or wrong, General distrust of the motives of others; attribution of bad faith.",
18
+ "### Team Members ###",
19
+ "{{TEAM_MEMBERS}}",
20
+ "### Questions ###",
21
+ "1. Write a section with the title: \"Team Dynamics and Optimization Strategies\"",
22
+ "2. Subsection with the title: \"Team Composition:\" including each team member's name followed by their potential (e.g., High Potential) and their individual strengths and challenges. Structure each team member's information as bullet points.",
23
+ "3. Subsection with the title: \"Team Dynamics:\" including detailed points on role assignment, strength utilization, and challenge mitigation for the team. Provide specific recommendations for each team member.",
24
+ "4. Subsection with the title: \"Optimization Strategies:\" detailing mentorship and coaching, collaborative culture, structured processes, and ethical standards to optimize team effectiveness. Provide actionable steps and examples for each strategy."
25
+ ],
26
+
27
  "TestTakersSummary": [
28
  "Analyze {{INDIVIDUAL_NAME}}'s profile in ### Bio Information ###, ## Main Profile ###, ### Red Flags Profile ###, and answer the ### Questions ### with around 800 words length.",
29
  "### Bio Information of {{INDIVIDUAL_NAME}} ###",