Update prompts/main_prompt.py
Browse files- prompts/main_prompt.py +47 -151
prompts/main_prompt.py
CHANGED
@@ -1,158 +1,54 @@
|
|
1 |
MAIN_PROMPT = """
|
2 |
### **Module 4: Proportional Thinking with Percentages**
|
3 |
-
"Welcome to this module on proportional reasoning with percentages!
|
4 |
-
Your goal is to solve a real-world problem using different representations:
|
5 |
-
1️⃣ **Bar Model**
|
6 |
-
2️⃣ **Double Number Line**
|
7 |
-
3️⃣ **Equation-Based Approach**
|
8 |
|
9 |
🚀 **Here’s the problem:**
|
10 |
-
|
11 |
|
12 |
💡 **Before receiving guidance, choose a method and explain your reasoning.**
|
13 |
🚀 **Which method would you like to use first?**
|
14 |
-
(Type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed.)
|
15 |
-
"""
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
"
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
""
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
(Type ‘Double Number Line’ or ‘Equation’ to proceed.)
|
56 |
-
"""
|
57 |
-
|
58 |
-
DOUBLE_NUMBER_LINE_PROMPT = """
|
59 |
-
### **🚀 Double Number Line Approach**
|
60 |
-
"Great choice! The **Double Number Line** helps visualize proportional relationships step by step.
|
61 |
-
|
62 |
-
🔹 **Before I provide guidance, please explain how you set up your Double Number Line.**
|
63 |
-
- How did you set up your number line?
|
64 |
-
- What values did you place for percentages and dollar amounts?
|
65 |
-
- How did you use the 60% value to determine the total?
|
66 |
-
|
67 |
-
✏️ **Type your explanation, and I will provide feedback before moving forward.**
|
68 |
-
"""
|
69 |
-
|
70 |
-
DOUBLE_NUMBER_LINE_FEEDBACK_PROMPT = """
|
71 |
-
✅ **Thanks for explaining! Let's check your approach.**
|
72 |
-
|
73 |
-
🔹 **Key questions to check your model:**
|
74 |
-
- Did you label one number line as percentages (0% to 100%)?
|
75 |
-
- Did you label the second number line with dollar values?
|
76 |
-
- Did you place 60% at $1,500?
|
77 |
-
|
78 |
-
✏️ **Would you like to adjust anything before I provide hints?**
|
79 |
-
"""
|
80 |
-
|
81 |
-
DOUBLE_NUMBER_LINE_HINT_PROMPT = """
|
82 |
-
🔹 **Hint:** If 60% corresponds to $1,500, what does 10% equal?
|
83 |
-
✏️ **Try dividing $1,500 by 6 and let me know what you get.**
|
84 |
-
"""
|
85 |
-
|
86 |
-
DOUBLE_NUMBER_LINE_SOLUTION_PROMPT = """
|
87 |
-
✅ **Let’s summarize the correct Double Number Line approach:**
|
88 |
-
|
89 |
-
1️⃣ One number line represents percentages (0% to 100%).
|
90 |
-
2️⃣ The second number line represents dollar values.
|
91 |
-
3️⃣ 60% corresponds to $1,500.
|
92 |
-
4️⃣ **10% =** $1,500 ÷ 6 = $250.
|
93 |
-
5️⃣ **100% =** $250 × 10 = **$2,500**.
|
94 |
-
|
95 |
-
💡 **Would you like to reflect on this or try another method?**
|
96 |
-
(Type ‘Bar Model’ or ‘Equation’ to proceed.)
|
97 |
-
"""
|
98 |
-
|
99 |
-
EQUATION_PROMPT = """
|
100 |
-
### **🚀 Equation-Based Approach**
|
101 |
-
"Great choice! The **Equation Method** provides a direct algebraic approach.
|
102 |
-
|
103 |
-
🔹 **Before I provide guidance, please explain how you set up your equation.**
|
104 |
-
- How did you express 60% as a fraction or decimal?
|
105 |
-
- What variable did you use for the total investment?
|
106 |
-
- What equation did you set up to solve for the total?
|
107 |
-
|
108 |
-
✏️ **Type your explanation, and I will provide feedback before moving forward.**
|
109 |
-
"""
|
110 |
-
|
111 |
-
EQUATION_FEEDBACK_PROMPT = """
|
112 |
-
✅ **Thanks for explaining! Let's check your equation:**
|
113 |
-
|
114 |
-
🔹 **Key questions to check your setup:**
|
115 |
-
- Did you write the proportion using 60% and $1,500?
|
116 |
-
- Did you define a variable for the total investment?
|
117 |
-
|
118 |
-
✏️ **Would you like to adjust anything before I provide hints?**
|
119 |
-
"""
|
120 |
-
|
121 |
-
EQUATION_HINT_PROMPT = """
|
122 |
-
🔹 **Hint:** Try setting up the equation:
|
123 |
-
\[
|
124 |
-
\frac{60}{100} = \frac{1500}{x}
|
125 |
-
\]
|
126 |
-
✏️ **Can you solve for x?**
|
127 |
-
"""
|
128 |
-
|
129 |
-
EQUATION_SOLUTION_PROMPT = """
|
130 |
-
✅ **Let’s summarize the correct Equation approach:**
|
131 |
-
|
132 |
-
\[
|
133 |
-
\frac{60}{100} = \frac{1500}{x}
|
134 |
-
\]
|
135 |
-
|
136 |
-
1️⃣ Cross multiply:
|
137 |
-
\[
|
138 |
-
60x = 1500 \times 100
|
139 |
-
\]
|
140 |
-
|
141 |
-
2️⃣ Solve for **x**:
|
142 |
-
\[
|
143 |
-
x = \frac{1500 \times 100}{60} = 2500
|
144 |
-
\]
|
145 |
-
|
146 |
-
💡 **Would you like to reflect on this or try another method?**
|
147 |
-
(Type ‘Bar Model’ or ‘Double Number Line’ to proceed.)
|
148 |
-
"""
|
149 |
-
|
150 |
-
REFLECTION_PROMPT = """
|
151 |
-
"Great job! Now, let's reflect on the strategies we used.
|
152 |
-
|
153 |
-
- Which method did you find most helpful, and why?
|
154 |
-
- How does this connect to real-world proportional reasoning?
|
155 |
-
- How would you explain this to a student?
|
156 |
-
|
157 |
-
✏️ **Share your thoughts before we conclude!**
|
158 |
-
"""
|
|
|
1 |
MAIN_PROMPT = """
|
2 |
### **Module 4: Proportional Thinking with Percentages**
|
3 |
+
"Welcome to this module on proportional reasoning with percentages!
|
4 |
+
Your goal is to solve a real-world problem using different representations:
|
5 |
+
1️⃣ **Bar Model**
|
6 |
+
2️⃣ **Double Number Line**
|
7 |
+
3️⃣ **Equation-Based Approach**
|
8 |
|
9 |
🚀 **Here’s the problem:**
|
10 |
+
Orrin and Damen decided to invest money in a local ice cream shop. Orrin invests $1,500, which is 60% of their total investment. How much do Orrin and Damen invest together?
|
11 |
|
12 |
💡 **Before receiving guidance, choose a method and explain your reasoning.**
|
13 |
🚀 **Which method would you like to use first?**
|
14 |
+
(Type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed.)"
|
15 |
+
"""
|
16 |
+
|
17 |
+
def get_prompt_for_method(method):
|
18 |
+
if method.lower() == "bar model":
|
19 |
+
return """
|
20 |
+
### **Bar Model Approach**
|
21 |
+
Great choice! The Bar Model is a useful way to visualize proportions and percentages.
|
22 |
+
Before we go further, please **explain how you would apply the Bar Model to solve this problem.** How would you set up the model?"""
|
23 |
+
|
24 |
+
elif method.lower() == "double number line":
|
25 |
+
return """
|
26 |
+
### **Double Number Line Approach**
|
27 |
+
Great choice! The Double Number Line helps align percentage values with real-world quantities.
|
28 |
+
Before we proceed, please **explain how you would apply the Double Number Line to solve this problem.** How would you structure the number lines?"""
|
29 |
+
|
30 |
+
elif method.lower() == "equation":
|
31 |
+
return """
|
32 |
+
### **Equation-Based Approach**
|
33 |
+
Great choice! Setting up an equation is a powerful way to represent proportional relationships.
|
34 |
+
Before we proceed, please **explain how you would write an equation to represent this problem.** How would you set up the equation?"""
|
35 |
+
|
36 |
+
return "I didn’t understand your choice. Please type 'Bar Model,' 'Double Number Line,' or 'Equation' to proceed."
|
37 |
+
|
38 |
+
def get_feedback_for_method(method, teacher_response):
|
39 |
+
if method.lower() == "bar model":
|
40 |
+
if "divide" in teacher_response.lower() and "60%" in teacher_response.lower():
|
41 |
+
return "Great start! You recognized that the bar should be divided into parts representing percentages. Now, can you calculate how much each part represents?"
|
42 |
+
return "It looks like you might need some help. Remember, the bar represents the total investment. Try dividing it into 10 equal parts, with 6 parts representing Orrin’s 60%. How much does one part represent?"
|
43 |
+
|
44 |
+
elif method.lower() == "double number line":
|
45 |
+
if "label" in teacher_response.lower() and "percentages" in teacher_response.lower():
|
46 |
+
return "Nice work! You’ve set up the number line correctly. Can you now align the percentage values with the corresponding dollar amounts?"
|
47 |
+
return "No worries! Try labeling your number line with 0%, 60%, and 100% on one side and the corresponding dollar amounts on the other. How do the values align?"
|
48 |
+
|
49 |
+
elif method.lower() == "equation":
|
50 |
+
if "60/100" in teacher_response.lower() and "$1500/x" in teacher_response.lower():
|
51 |
+
return "You're on the right track! Now, how can you solve for x in your equation?"
|
52 |
+
return "Try writing the proportion as (60/100) = (1500/x). What steps would you take to solve for x?"
|
53 |
+
|
54 |
+
return "Interesting approach! Could you clarify your reasoning a bit more?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|