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?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|