matthew.farant commited on
Commit
98addbb
·
1 Parent(s): 032569c

adjust api response and prompt

Browse files
Files changed (1) hide show
  1. app/utils.py +321 -151
app/utils.py CHANGED
@@ -111,206 +111,223 @@ def get_user_summary(user_id):
111
 
112
  # Build the system prompt according to the provided instructions
113
  system_prompt = """
114
- You are an AI language model designed to generate three outputs based on the user's profile and chat history:
115
 
116
- 1. **Pre-Growth Guide Session Report**: A condensed summary of the users profile and life context for the Growth Guide (a human coach). Use the provided template to structure the report.
117
 
118
- 2. **User's Growth Guide Preparation Brief**: A brief for the user who will meet the coach, guiding them on what to discuss with the Growth Guide. Provide actionable advice and highlight key areas the user should focus on during their session. **Format this brief with specific sections as per the provided structure, and output it as a JSON object with those sections.**
119
 
120
- 3. **30-Minute Coaching Session Script**: A detailed script to help the coach prepare for the session, including dialogue, questions, and guidance tailored to the client's needs.
121
 
122
- ---
123
 
124
- **Instructions:**
125
 
126
- - **Output Format**:
127
 
128
- Output the result in JSON format with the following structure:
129
 
130
- ```json
131
- {
132
- "pre_growth_guide_session_report": "string",
133
- "users_growth_guide_preparation_brief": {
134
- "reflect": "string",
135
- "recall_successes": "string",
136
- "identify_challenges": "string",
137
- "set_goals": "string",
138
- "additional_tips": "string"
139
- },
140
- "30_minute_coaching_session_script": "string"
141
- }
142
- ```
143
 
144
- ---
145
 
146
- ### **1. Pre-Growth Guide Session Report**
147
 
148
- **Objective**: To provide a condensed summary of the user’s profile and life context for the Growth Guide.
149
 
150
- **Format**:
151
 
152
- - **User Overview**:
153
- - **Name**: [User’s Full Name]
154
- - **Age Group**: [e.g., 25-34]
155
- - **Location**: [City, Country]
156
- - **Joined Date**: [Date of Joining OurCoach]
157
- - **Primary Goal(s)**: [e.g., Career Advancement, Mental Health Improvement, Financial Stability]
158
- - **Preferred Coaching Style**: [Direct, Empathetic, Structured, Open-ended]
159
 
160
- - **Personality Insights**:
161
- - **MBTI Type**: [e.g., INFJ]
162
- - **Love Language (Ranked)**:
163
- 1. [e.g., Quality Time]
164
- 2. [e.g., Words of Affirmation]
165
- 3. [e.g., Acts of Service]
166
- 4. [e.g., Physical Touch]
167
- 5. [e.g., Receiving Gifts]
168
- - **Belief in Horoscope/Astrology**: [Yes/No]
169
 
170
- - **Progress Snapshot**:
171
- - **Life Overview**:
172
- - **Top Challenges Identified**:
173
- - **Challenge 1**: [e.g., Overwhelmed with work-life balance.]
174
- - **Challenge 2**: [e.g., Difficulty managing finances.]
175
- - **Challenge 3**: [e.g., Lack of clarity in career goals.]
176
- - **Recent Achievements**:
177
- - [e.g., Started a new fitness routine.]
178
- - [e.g., Achieved a professional milestone.]
179
 
180
- - **Goals**:
181
- - **Short-Term Goal**: [e.g., Build a daily exercise habit.]
182
- - **Long-Term Goal**: [e.g., Transition to a leadership role at work.]
183
 
184
- - **Engagement Insights**:
185
- - **Daily Reflections Participation**: [e.g., Consistent, Inconsistent, or Engaged 4/7 Days Weekly]
186
- - **Weekly Streaks**: [e.g., 3-week streak maintained.]
187
- - **Recent Feedback**: [e.g., "I’m feeling stuck with long-term planning."]
188
 
189
- - **Session Focus**:
190
- - **User’s Top Focus Area**: [e.g., Career planning, Building confidence, Managing stress]
191
- - **Key Objective for This Session**: [e.g., Help user create a SMART goal for the next 30 days.]
192
 
193
- ---
 
 
194
 
195
- ### **2. User's Growth Guide Preparation Brief**
196
 
197
- **Objective**: To guide the user on what to discuss with the Growth Guide, providing actionable advice and highlighting key areas to focus on during their session.
 
 
 
 
198
 
199
- **Format**:
200
 
201
- Structure the brief with the following sections, and output it as a JSON object with these keys:
202
 
203
- - **reflect**: [Content under 'Reflect' section]
204
- - **recall_successes**: [Content under 'Recall Successes' section]
205
- - **identify_challenges**: [Content under 'Identify Challenges' section]
206
- - **set_goals**: [Content under 'Set Goals' section]
207
- - **additional_tips**: [Content under 'Additional Tips' section]
208
 
209
- **Guidelines**:
210
 
211
- - Use the exact format provided in the example.
212
- - Provide concise, actionable advice in each section.
213
- - Encourage the user to think deeply about each area.
214
- - Use supportive and motivating language.
215
 
216
- **Example Format**:
217
 
218
- #####
219
 
220
- **How to Prepare?**
221
 
222
- **Reflect:**
223
 
224
- - What does self-discipline mean to you?
225
- - Which areas of your life do you want to improve (e.g., work-life balance, marathon training, communication with Karina)?
226
 
227
- **Recall Successes:**
228
 
229
- - Think of times when you effectively practiced self-discipline.
230
- - What strategies worked for you then?
231
 
232
- **Identify Challenges:**
233
 
234
- - Be ready to discuss any obstacles you’re facing.
235
- - Consider possible solutions or resources that might help.
236
 
237
- **Set Goals:**
238
 
239
- - Decide what you hope to achieve from this session.
240
- - Think about how improving self-discipline will impact your life.
241
 
242
- **Additional Tips:**
243
 
244
- - **Environment**: Choose a quiet, comfortable space.
245
- - **Materials**: Have a notebook and pen ready.
246
- - **Openness**: Be prepared to share your thoughts honestly.
247
 
248
- #####
249
 
250
- ---
 
 
 
251
 
252
- ### **3. 30-Minute Coaching Session Script**
253
 
254
- **Objective**: Help the coach prepare for the session by providing a structured script tailored to the client's specific needs and goals.
255
 
256
- **Instructions**:
257
 
258
- - **Session Overview**: Provide a breakdown of the session segments along with their allocated time frames. The typical structure includes:
259
- 1. **Warm Welcome and Rapport Building** (5 Minutes)
260
- 2. **Exploring the Client's Goals** (10 Minutes)
261
- 3. **Developing an Action Plan** (10 Minutes)
262
- 4. **Wrap-Up and Commitment** (5 Minutes)
263
 
264
- - **Detailed Segments**:
265
- - For each segment, include:
266
- - **Coach Dialogue**: Scripted prompts and questions the coach can use.
267
- - **Client Engagement**: Opportunities for the client to respond and reflect.
268
- - **Guidance**: Suggestions for the coach on how to navigate responses.
269
 
270
- - **Additional Tips for the Coach**:
271
- - Offer advice on tone, active listening, empathy, and techniques to encourage self-reflection and solution-focused thinking.
272
 
273
- - **Action Plan Summary**:
274
- - Summarize the agreed-upon steps the client will take before the next session.
275
 
276
- - **Scheduling Next Session**:
277
- - Include a prompt for confirming the next meeting time.
278
 
279
- - **End of Session**:
280
- - Conclude with a positive note, reinforcing confidence and expressing anticipation for the client's progress.
281
 
282
- **Style Guidelines**:
283
 
284
- - Use empathetic and supportive language.
285
- - Encourage open-ended dialogue.
286
- - Focus on actionable and achievable steps.
287
- - Personalize the script to align with the client's experiences and aspirations.
288
 
289
- ---
290
 
291
- **Example Output**:
292
 
293
- ```json
294
- {
295
- "pre_growth_guide_session_report": "User Overview:\nName: Yew Wai\nAge Group: 25-34\nLocation: Singapore\nJoined Date: September 1, 2023\nPrimary Goal(s): Enhance self-discipline, Improve work-life balance\nPreferred Coaching Style: Structured, Empathetic\n\nPersonality Insights:\nMBTI Type: INTJ\nLove Language (Ranked):\n1. Quality Time\n2. Words of Affirmation\n3. Acts of Service\n4. Physical Touch\n5. Receiving Gifts\nBelief in Horoscope/Astrology: No\n\nProgress Snapshot:\nLife Overview:\nYew Wai is a software engineer focusing on enhancing chat experiences at OurCoach and has recently started marathon training.\n\nTop Challenges Identified:\n- Challenge 1: Overwhelmed with balancing work and personal life.\n- Challenge 2: Difficulty maintaining consistent routines.\n- Challenge 3: Wants to improve communication with partner, Karina.\n\nRecent Achievements:\n- Successfully launched a new feature at work.\n- Started a marathon training program.\n\nGoals:\nShort-Term Goal: Establish a consistent daily routine.\nLong-Term Goal: Complete a marathon.\n\nEngagement Insights:\nDaily Reflections Participation: Engaged 5/7 Days Weekly.\nWeekly Streaks: 2-week streak maintained.\nRecent Feedback: \"I feel like I'm struggling to keep up with everything on my plate.\"\n\nSession Focus:\nUser’s Top Focus Area: Building self-discipline.\nKey Objective for This Session: Help the user develop a structured plan to enhance self-discipline.",
296
 
297
- "users_growth_guide_preparation_brief": {
298
- "reflect": "Consider what self-discipline means to you. Which areas of your life do you want to improve, such as work-life balance, marathon training, or communication with Karina?",
299
- "recall_successes": "Think about times when you effectively practiced self-discipline. What strategies worked for you then?",
300
- "identify_challenges": "Be ready to discuss any obstacles you're facing. Consider possible solutions or resources that might help.",
301
- "set_goals": "Decide what you hope to achieve from this session. Think about how improving self-discipline will impact your life.",
302
- "additional_tips": "Environment: Choose a quiet, comfortable space.\nMaterials: Have a notebook and pen ready.\nOpenness: Be prepared to share your thoughts honestly."
303
- },
304
 
305
- "30_minute_coaching_session_script": "Objective: Help the client develop a structured plan to enhance self-discipline.\n\nSession Overview:\n1. Warm Welcome and Rapport Building (5 Minutes)\n2. Exploring Self-Discipline Goals (10 Minutes)\n3. Developing an Action Plan (10 Minutes)\n4. Wrap-Up and Commitment (5 Minutes)\n\n---\n\n**1. Warm Welcome and Rapport Building (5 Minutes)**\n\n*Coach*:\n“Hello, Yew Wai! It’s great to see you today. How have you been feeling lately about your journey with us?”\n\n*Allow him to respond.*\n\n“I was really impressed to hear about your recent achievements, like enhancing the chat experience at OurCoach and starting your marathon training. That’s fantastic progress!”\n\n“Before we dive in, is there anything you’d like to share or discuss from the past week?”\n\n*Listen attentively and acknowledge his thoughts.*\n\n---\n\n**2. Exploring Self-Discipline Goals (10 Minutes)**\n\n*Coach*:\n“You’ve mentioned that you’d like to build better self-discipline. Could you tell me more about what self-discipline means to you?”\n\n*Let him explain his perspective.*\n\n“What areas of your life do you feel are most affected by self-discipline right now? For example, your work-life balance, marathon training, or communication with Karina?”\n\n*Encourage him to identify specific areas.*\n\n“Can you describe a time when you felt you had good self-discipline? What was different then?”\n\n*Help him recall past successes.*\n\n“What obstacles do you think are currently standing in the way of developing the self-discipline you desire?”\n\n*Listen and take note of challenges.*\n\n---\n\n**3. Developing an Action Plan (10 Minutes)**\n\n*Coach*:\n“Let’s brainstorm some practical steps you could take to improve your self-discipline. What ideas come to mind?”\n\n*Allow him to suggest ideas first.*\n\n*If he needs prompting, offer suggestions:*\n\n- **Establish a Consistent Daily Routine**:\n - Set regular sleep and wake times to improve sleep quality.\n - Allocate specific hours for work to create clear boundaries.\n- **Set Small, Manageable Goals**:\n - Break down larger tasks into smaller, achievable steps.\n - Prioritize tasks to focus on what’s most important.\n- **Use Mindfulness Techniques**:\n - Incorporate short meditation sessions to enhance focus.\n - Practice deep-breathing exercises during breaks.\n- **Accountability Measures**:\n - Use a journal or app to track your progress.\n - Share your goals with someone you trust for support.\n\n*Coach*:\n“Which of these strategies do you feel would be most effective for you?”\n\n*Discuss and select a few actionable steps.*\n\n“How do you see these steps fitting into your daily routine?”\n\n*Help him visualize implementing the steps.*\n\n---\n\n**4. Wrap-Up and Commitment (5 Minutes)**\n\n*Coach*:\n“So, to recap, you’ve decided to [summarize the action steps he agreed upon], right?”\n\n*Ensure accuracy and agreement.*\n\n“How confident do you feel about committing to these steps over the next week?”\n\n*Gauge his confidence level.*\n\n“What might help you stay on track? Are there any potential obstacles we should plan for?”\n\n*Discuss ways to overcome challenges.*\n\n“I’m really excited for you, Yew Wai. You’ve set some meaningful steps that align well with your goals.”\n\n“Before we finish, is there anything else you’d like to talk about or any questions you have?”\n\n*Allow for any final thoughts.*\n\n---\n\n*Coach*:\n“Thank you for sharing openly today. I look forward to hearing about your progress in our next session.���\n\n---\n\n**Additional Tips for the Coach**:\n\n- **Be Empathetic**: Use a warm tone and show genuine interest in his experiences.\n- **Active Listening**: Reflect back what he says to show understanding.\n- **Encourage Self-Reflection**: Ask open-ended questions that prompt deeper thinking.\n- **Stay Solution-Focused**: Guide the conversation toward actionable steps.\n- **Celebrate Achievements**: Acknowledge his successes to boost confidence.\n\n---\n\n**Action Plan Summary**:\n\n*Agreed Steps for Next Week*:\n\n- **Set a Consistent Sleep Schedule**:\n - Aim to be in bed by 11:00 PM and wake up at 7:00 AM.\n- **Daily Planning**:\n - Each morning, list three key tasks to accomplish that day.\n- **Mindfulness Practice**:\n - Spend 10 minutes each day on meditation or deep breathing.\n- **Progress Tracking**:\n - Use a journal or app to record daily achievements and reflections.\n\n---\n\n**Scheduling Next Session**\n\n*Coach*: “Let’s plan to meet again next week at the same time. Does that work for you?”\n\n*Confirm the next session date and time.*\n\n---\n\n**End of Session**\n\nBy following this script, you can confidently guide the client through a productive session focused on enhancing self-discipline. The structure fosters a supportive environment where the client can explore goals and commit to actionable steps."
306
- }
307
- ```
 
 
 
 
 
308
 
309
- ---
310
 
311
- **[End of System Prompt]**
312
 
313
- This updated system prompt incorporates your requested changes, adjusting the JSON schema for the "User's Growth Guide Preparation Brief" and formatting it according to your example. Use this prompt to generate personalized reports and scripts that will help both the Growth Guide and the user prepare effectively for their upcoming coaching session.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314
  """
315
 
316
  # Combine user information and chat history for context
@@ -358,8 +375,109 @@ def get_user_summary(user_id):
358
  "type": "object",
359
  "properties": {
360
  "pre_growth_guide_session_report": {
361
- "type": "string",
362
- "description": "A condensed summary of the users profile and life context for the Growth Guide."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
363
  },
364
  "users_growth_guide_preparation_brief": {
365
  "type": "object",
@@ -386,18 +504,70 @@ def get_user_summary(user_id):
386
  "description": "Content under the 'Additional Tips' section."
387
  }
388
  },
389
- "required": [
390
- "reflect",
391
- "recall_successes",
392
- "identify_challenges",
393
- "set_goals",
394
- "additional_tips"
395
- ],
396
  "additionalProperties": False
397
  },
398
  "30_minute_coaching_session_script": {
399
- "type": "string",
400
- "description": "A detailed script to help the coach prepare for the session."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  }
402
  },
403
  "required": [
 
111
 
112
  # Build the system prompt according to the provided instructions
113
  system_prompt = """
114
+ You are an AI language model designed to generate three outputs based on the user's profile and chat history:
115
 
116
+ 1. **Pre-Growth Guide Session Report**: A comprehensive summary of the user's profile and life context for the Growth Guide (a human coach), covering five key areas: **mental well-being**, **physical health and wellness**, **relationships**, **career growth**, and **personal growth**.
117
 
118
+ 2. **User's Growth Guide Preparation Brief**: A comprehensive brief guiding the user on what to discuss with the Growth Guide, providing actionable advice and highlighting key areas to focus on during their session, covering the same five key areas.
119
 
120
+ 3. **30-Minute Coaching Session Script**: A detailed, partitioned script to help the coach prepare for the session, including dialogue, questions, and guidance tailored to the client's needs, covering the five key areas. The script should be partitioned into several sections in the JSON output, similar to the structure provided for the Pre-Growth Guide Session Report.
121
 
122
+ ---
123
 
124
+ **Instructions:**
125
 
126
+ - **Comprehensive Coverage**:
127
 
128
+ Ensure that all three outputs cover the following five key areas:
129
 
130
+ 1. **Mental Well-being**
131
+ 2. **Physical Health and Wellness**
132
+ 3. **Relationships**
133
+ 4. **Career Growth**
134
+ 5. **Personal Growth**
 
 
 
 
 
 
 
 
135
 
136
+ If the chat history provided by the user does not touch on one or more of these areas, the report should state: "The user hasn't discussed this area yet. Maybe you can cover this during the Growth Guide session."
137
 
138
+ - **Output Format**:
139
 
140
+ Output the result in JSON format following the specified JSON schema. The outputs for the **Pre-Growth Guide Session Report** and the **30-Minute Coaching Session Script** should be partitioned into several JSON keys, similar to the structure provided for the Pre-Growth Guide Session Report.
141
 
142
+ ---
143
 
144
+ ### **1. Pre-Growth Guide Session Report**
 
 
 
 
 
 
145
 
146
+ **Objective**: Provide a comprehensive summary of the user's profile and life context for the Growth Guide, covering the five key areas.
 
 
 
 
 
 
 
 
147
 
148
+ **Format**:
 
 
 
 
 
 
 
 
149
 
150
+ - **user_overview**:
 
 
151
 
152
+ - **name**: The user's full name.
153
+ - **age_group**: The user's age range (e.g., "30-39").
154
+ - **primary_goals**: The main goals the user is focusing on.
155
+ - **preferred_coaching_style**: The coaching style the user prefers.
156
 
157
+ - **personality_insights**:
 
 
158
 
159
+ - **mbti**: The user's Myers-Briggs Type Indicator personality type.
160
+ - **top_love_languages**: A list of the user's top two love languages.
161
+ - **belief_in_astrology**: Whether the user believes in horoscope/astrology.
162
 
163
+ - **progress_snapshot**:
164
 
165
+ - **mental_well_being**: Summary of the user's mental well-being.
166
+ - **physical_health_and_wellness**: Summary of the user's physical health and wellness.
167
+ - **relationships**: Summary of the user's relationships.
168
+ - **career_growth**: Summary of the user's career growth.
169
+ - **personal_growth**: Summary of the user's personal growth.
170
 
171
+ If any of the key areas are not discussed, include a note: "The user hasn't discussed this area yet. Maybe you can cover this during the Growth Guide session."
172
 
173
+ - **engagement_insights**:
174
 
175
+ - **daily_reflection_participation**: The user's engagement level with daily reflections.
176
+ - **weekly_streaks**: Any streaks or consistent patterns in the user's engagement.
177
+ - **recent_feedback**: Recent comments or feedback from the user highlighting current concerns or focus areas.
 
 
178
 
179
+ ---
180
 
181
+ ### **2. User's Growth Guide Preparation Brief**
 
 
 
182
 
183
+ **Objective**: Guide the user on what to discuss with the Growth Guide, providing actionable advice and highlighting key areas to focus on during their session, covering the five key areas.
184
 
185
+ **Format**:
186
 
187
+ Structure the brief with the following sections, and output it as a JSON object with these keys:
188
 
189
+ - **reflect**: Encourage the user to consider what each focus area means to them and which aspects they want to improve.
190
 
191
+ - **recall_successes**: Prompt the user to think of times when they effectively managed or improved in the five key areas, and what strategies worked for them then.
 
192
 
193
+ - **identify_challenges**: Encourage the user to be ready to discuss any obstacles they're facing in each area, and to consider possible solutions or resources that might help.
194
 
195
+ - **set_goals**: Ask the user to decide what they hope to achieve from the session and how improvements in each area will impact their life.
 
196
 
197
+ - **additional_tips**: Provide practical advice for the session, such as choosing a quiet space, having materials ready, and being open to sharing thoughts honestly.
198
 
199
+ ---
 
200
 
201
+ ### **3. 30-Minute Coaching Session Script**
202
 
203
+ **Objective**: Help the coach prepare for the session by providing a detailed, partitioned script tailored to the client's specific needs and goals, following a specific session order and focusing on the user's top three most important areas.
 
204
 
205
+ **Instructions**:
206
 
207
+ - **Session Order**:
 
 
208
 
209
+ The session should follow this specific order:
210
 
211
+ 1. **Warm Welcome and Rapport Building** (5 mins)
212
+ 2. **Exploring X Goals** (10 mins)
213
+ 3. **Developing X Strategies** (10 mins)
214
+ 4. **Wrap-Up and Commitment** (5 mins)
215
 
216
+ The "X" in "Exploring X Goals" and "Developing X Strategies" should be replaced with the user's top three most important areas from the five key areas. Focus on one area per session. If possible, prioritize the areas based on the user's expressed concerns or goals.
217
 
218
+ - **Detailed Segments**:
219
 
220
+ For each segment, include:
221
 
222
+ - **segment_title**: Title of the session segment.
223
+ - **coach_dialogue**: Scripted prompts and questions the coach can use.
224
+ - **client_engagement**: Opportunities for the client to respond and reflect.
225
+ - **guidance**: Suggestions for the coach on how to navigate responses.
 
226
 
227
+ - **Additional Instructions**:
 
 
 
 
228
 
229
+ - Ensure that each of the user's top three areas is addressed in separate sessions. If any area was not previously discussed by the user, include guidance for the coach to introduce or explore that area during the session.
 
230
 
231
+ - **Additional Tips for the Coach**:
 
232
 
233
+ Offer advice on tone, active listening, empathy, and techniques to encourage self-reflection and solution-focused thinking.
 
234
 
235
+ - **Action Plan Summary**:
 
236
 
237
+ Summarize the agreed-upon steps the client will take before the next session, covering the focused area.
238
 
239
+ - **Scheduling Next Session**:
 
 
 
240
 
241
+ Include a prompt for confirming the next meeting time.
242
 
243
+ - **End of Session**:
244
 
245
+ Conclude with a positive note, reinforcing confidence and expressing anticipation for the client's progress.
 
 
246
 
247
+ **Style Guidelines**:
 
 
 
 
 
 
248
 
249
+ - Use empathetic and supportive language.
250
+ - Encourage open-ended dialogue.
251
+ - Focus on actionable and achievable steps.
252
+ - Personalize the script to align with the client's experiences and aspirations.
253
+
254
+ ---
255
+
256
+ **Note**:
257
 
258
+ - If the user hasn't discussed one or more of the key areas, the outputs should note this and suggest that these areas can be covered during the Growth Guide session.
259
 
260
+ ---
261
 
262
+ ** JSON OUTPUT FORMAT EXAMPLE **:
263
+
264
+ {
265
+ "pre_growth_guide_session_report": {
266
+ "user_overview": {
267
+ "name": "Alex Johnson",
268
+ "age_group": "25-34",
269
+ "primary_goals": "Improve mental well-being, advance career, enhance relationships",
270
+ "preferred_coaching_style": "Supportive and goal-oriented"
271
+ },
272
+ "personality_insights": {
273
+ "mbti": "ENFP",
274
+ "top_love_languages": ["Quality Time", "Words of Affirmation"],
275
+ "belief_in_astrology": "No"
276
+ },
277
+ "progress_snapshot": {
278
+ "mental_well_being": "Alex has been experiencing increased stress due to workload and is seeking ways to manage anxiety and improve overall mental health.",
279
+ "physical_health_and_wellness": "Maintains a regular exercise routine but wants to incorporate healthier eating habits.",
280
+ "relationships": "Feels disconnected from friends and family due to busy schedule; wishes to rebuild social connections.",
281
+ "career_growth": "Aiming for a promotion but feels uncertain about the necessary skills and how to stand out.",
282
+ "personal_growth": "Interested in learning new skills like photography and improving time management."
283
+ },
284
+ "engagement_insights": {
285
+ "daily_reflection_participation": "Consistently completes daily reflections, often focusing on stress levels and work-life balance.",
286
+ "weekly_streaks": "Maintained a 4-week streak of daily reflections and goal tracking.",
287
+ "recent_feedback": "\"I'm struggling to balance my work with my personal life and it's affecting my relationships.\""
288
+ }
289
+ },
290
+ "users_growth_guide_preparation_brief": {
291
+ "reflect": "Consider what mental well-being means to you. Which aspects of your life—such as stress management, anxiety reduction, or emotional balance—do you want to improve?",
292
+ "recall_successes": "Think of times when you effectively managed stress or maintained a positive mindset. What strategies or habits helped you during those times?",
293
+ "identify_challenges": "Be ready to discuss current obstacles you're facing in managing stress and anxiety. Consider any patterns or triggers you've noticed.",
294
+ "set_goals": "Decide what you hope to achieve from this session. How would improving your mental well-being impact your daily life and long-term goals?",
295
+ "additional_tips": "Environment: Choose a quiet, comfortable space.\nMaterials: Have a notebook and pen ready to jot down insights.\nOpenness: Be prepared to share your thoughts honestly and openly."
296
+ },
297
+ "30_minute_coaching_session_script": {
298
+ "session_overview": "1. Warm Welcome and Rapport Building (5 mins)\n2. Exploring Mental Well-being Goals (10 mins)\n3. Developing Mental Well-being Strategies (10 mins)\n4. Wrap-Up and Commitment (5 mins)",
299
+ "detailed_segments": [
300
+ {
301
+ "segment_title": "Warm Welcome and Rapport Building",
302
+ "coach_dialogue": "“Hello, Alex! It's great to see you today. How have you been feeling lately?”",
303
+ "client_engagement": "Allow Alex to share recent experiences and feelings.",
304
+ "guidance": "Listen attentively and acknowledge his feelings to build rapport."
305
+ },
306
+ {
307
+ "segment_title": "Exploring Mental Well-being Goals",
308
+ "coach_dialogue": "“You've mentioned wanting to improve your mental well-being. Could you tell me more about what that means to you?”",
309
+ "client_engagement": "Encourage Alex to discuss specific aspects he wants to focus on.",
310
+ "guidance": "Ask open-ended questions to help him delve deeper into his goals."
311
+ },
312
+ {
313
+ "segment_title": "Developing Mental Well-being Strategies",
314
+ "coach_dialogue": "“Let's explore some strategies to help manage your stress and improve your mental health. What ideas have you considered?”",
315
+ "client_engagement": "Allow him to suggest strategies; if needed, offer suggestions such as mindfulness techniques, time management, or setting boundaries.",
316
+ "guidance": "Collaborate to develop practical and achievable steps."
317
+ },
318
+ {
319
+ "segment_title": "Wrap-Up and Commitment",
320
+ "coach_dialogue": "“To summarize, you've decided to incorporate mindfulness meditation and set clear work-life boundaries, right?”",
321
+ "client_engagement": "Ensure accuracy and gauge his commitment level.",
322
+ "guidance": "Offer encouragement and address any concerns he might have."
323
+ }
324
+ ],
325
+ "additional_tips_for_the_coach": "Maintain an empathetic tone throughout the session. Use active listening to validate his feelings. Encourage self-reflection by asking open-ended questions.",
326
+ "action_plan_summary": "Alex will practice mindfulness meditation for 10 minutes daily and set a strict end time for work each day to improve work-life balance.",
327
+ "scheduling_next_session": "“Let's plan to meet again in two weeks to discuss your progress. Does that work for you?”",
328
+ "end_of_session": "“Thank you for sharing so openly today, Alex. I believe these steps will make a positive impact. I'm looking forward to hearing about your progress in our next session.”"
329
+ }
330
+ }
331
  """
332
 
333
  # Combine user information and chat history for context
 
375
  "type": "object",
376
  "properties": {
377
  "pre_growth_guide_session_report": {
378
+ "type": "object",
379
+ "description": "A comprehensive summary of the user's profile and life context for the Growth Guide.",
380
+ "properties": {
381
+ "user_overview": {
382
+ "type": "object",
383
+ "properties": {
384
+ "name": {
385
+ "type": "string",
386
+ "description": "The user's full name."
387
+ },
388
+ "age_group": {
389
+ "type": "string",
390
+ "description": "The user's age range (e.g., '30-39')."
391
+ },
392
+ "primary_goals": {
393
+ "type": "string",
394
+ "description": "The main goals the user is focusing on."
395
+ },
396
+ "preferred_coaching_style": {
397
+ "type": "string",
398
+ "description": "The coaching style the user prefers."
399
+ }
400
+ },
401
+ "required": ["name", "age_group", "primary_goals", "preferred_coaching_style"],
402
+ "additionalProperties": False
403
+ },
404
+ "personality_insights": {
405
+ "type": "object",
406
+ "properties": {
407
+ "mbti": {
408
+ "type": "string",
409
+ "description": "The user's Myers-Briggs Type Indicator personality type."
410
+ },
411
+ "top_love_languages": {
412
+ "type": "array",
413
+ "items": {
414
+ "type": "string"
415
+ },
416
+ "description": "A list of the user's top two love languages."
417
+ },
418
+ "belief_in_astrology": {
419
+ "type": "string",
420
+ "description": "Whether the user believes in horoscope/astrology."
421
+ }
422
+ },
423
+ "required": ["mbti", "top_love_languages", "belief_in_astrology"],
424
+ "additionalProperties": False
425
+ },
426
+ "progress_snapshot": {
427
+ "type": "object",
428
+ "properties": {
429
+ "mental_well_being": {
430
+ "type": "string",
431
+ "description": "Summary of the user's mental well-being."
432
+ },
433
+ "physical_health_and_wellness": {
434
+ "type": "string",
435
+ "description": "Summary of the user's physical health and wellness."
436
+ },
437
+ "relationships": {
438
+ "type": "string",
439
+ "description": "Summary of the user's relationships."
440
+ },
441
+ "career_growth": {
442
+ "type": "string",
443
+ "description": "Summary of the user's career growth."
444
+ },
445
+ "personal_growth": {
446
+ "type": "string",
447
+ "description": "Summary of the user's personal growth."
448
+ }
449
+ },
450
+ "required": [
451
+ "mental_well_being",
452
+ "physical_health_and_wellness",
453
+ "relationships",
454
+ "career_growth",
455
+ "personal_growth"
456
+ ],
457
+ "additionalProperties": False
458
+ },
459
+ "engagement_insights": {
460
+ "type": "object",
461
+ "properties": {
462
+ "daily_reflection_participation": {
463
+ "type": "string",
464
+ "description": "The user's engagement level with daily reflections."
465
+ },
466
+ "weekly_streaks": {
467
+ "type": "string",
468
+ "description": "Any streaks or consistent patterns in the user's engagement."
469
+ },
470
+ "recent_feedback": {
471
+ "type": "string",
472
+ "description": "Recent comments or feedback from the user."
473
+ }
474
+ },
475
+ "required": ["daily_reflection_participation", "weekly_streaks", "recent_feedback"],
476
+ "additionalProperties": False
477
+ }
478
+ },
479
+ "required": ["user_overview", "personality_insights", "progress_snapshot", "engagement_insights"],
480
+ "additionalProperties": False
481
  },
482
  "users_growth_guide_preparation_brief": {
483
  "type": "object",
 
504
  "description": "Content under the 'Additional Tips' section."
505
  }
506
  },
507
+ "required": ["reflect", "recall_successes", "identify_challenges", "set_goals", "additional_tips"],
 
 
 
 
 
 
508
  "additionalProperties": False
509
  },
510
  "30_minute_coaching_session_script": {
511
+ "type": "object",
512
+ "description": "A detailed, partitioned script to help the coach prepare for the session, following the specified session order and focusing on the user's top three most important areas.",
513
+ "properties": {
514
+ "session_overview": {
515
+ "type": "string",
516
+ "description": "Breakdown of the session segments with time frames."
517
+ },
518
+ "detailed_segments": {
519
+ "type": "array",
520
+ "items": {
521
+ "type": "object",
522
+ "properties": {
523
+ "segment_title": {
524
+ "type": "string",
525
+ "description": "Title of the session segment."
526
+ },
527
+ "coach_dialogue": {
528
+ "type": "string",
529
+ "description": "Scripted prompts and questions the coach can use."
530
+ },
531
+ "client_engagement": {
532
+ "type": "string",
533
+ "description": "Opportunities for the client to respond and reflect."
534
+ },
535
+ "guidance": {
536
+ "type": "string",
537
+ "description": "Suggestions for the coach on how to navigate responses."
538
+ }
539
+ },
540
+ "required": ["segment_title", "coach_dialogue", "client_engagement", "guidance"],
541
+ "additionalProperties": False
542
+ },
543
+ "description": "Detailed information for each session segment."
544
+ },
545
+ "additional_tips_for_the_coach": {
546
+ "type": "string",
547
+ "description": "Advice on tone, active listening, empathy, etc."
548
+ },
549
+ "action_plan_summary": {
550
+ "type": "string",
551
+ "description": "Summary of the agreed-upon steps the client will take."
552
+ },
553
+ "scheduling_next_session": {
554
+ "type": "string",
555
+ "description": "Prompt for confirming the next meeting time."
556
+ },
557
+ "end_of_session": {
558
+ "type": "string",
559
+ "description": "Conclusion with a positive note."
560
+ }
561
+ },
562
+ "required": [
563
+ "session_overview",
564
+ "detailed_segments",
565
+ "additional_tips_for_the_coach",
566
+ "action_plan_summary",
567
+ "scheduling_next_session",
568
+ "end_of_session"
569
+ ],
570
+ "additionalProperties": False
571
  }
572
  },
573
  "required": [