updated chat interface in chat
Browse files- bot/chat.py +46 -4
bot/chat.py
CHANGED
|
@@ -103,8 +103,49 @@ async def chat_interface(message, history):
|
|
| 103 |
current_year_info = get_current_year_info()
|
| 104 |
logger.info(f"Received message: {user_message}")
|
| 105 |
|
| 106 |
-
|
| 107 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 108 |
|
| 109 |
bot_message = await chat_with_groq(prompt, history)
|
| 110 |
|
|
@@ -116,8 +157,9 @@ async def chat_interface(message, history):
|
|
| 116 |
except Exception as e:
|
| 117 |
logger.error(f"Error in chat_interface: {str(e)}")
|
| 118 |
burner_error_message = (
|
| 119 |
-
"
|
| 120 |
-
"But
|
|
|
|
| 121 |
)
|
| 122 |
return burner_error_message
|
| 123 |
|
|
|
|
| 103 |
current_year_info = get_current_year_info()
|
| 104 |
logger.info(f"Received message: {user_message}")
|
| 105 |
|
| 106 |
+
if "packing list" in user_message:
|
| 107 |
+
# Extract preferences from the user message
|
| 108 |
+
preferences = []
|
| 109 |
+
if "art" in user_message:
|
| 110 |
+
preferences.append("art")
|
| 111 |
+
if "music" in user_message:
|
| 112 |
+
preferences.append("music")
|
| 113 |
+
|
| 114 |
+
# Determine duration and transportation
|
| 115 |
+
duration = 7 # Default duration
|
| 116 |
+
if "week" in user_message:
|
| 117 |
+
duration = 7
|
| 118 |
+
elif "weekend" in user_message:
|
| 119 |
+
duration = 3
|
| 120 |
+
|
| 121 |
+
transportation = "car" # Default transportation
|
| 122 |
+
if "fly" in user_message or "plane" in user_message:
|
| 123 |
+
transportation = "plane"
|
| 124 |
+
elif "rideshare" in user_message:
|
| 125 |
+
transportation = "rideshare"
|
| 126 |
+
|
| 127 |
+
packing_list = generate_packing_list(duration, preferences, transportation)
|
| 128 |
+
context = f"Hey there, dusty friend! I hear you're gearing up for a {duration}-day adventure on the playa. That's awesome! I've put together a packing list tailored just for you, considering your love for {', '.join(preferences)} and your plan to get there by {transportation}. Remember, this is just a starting point - you know yourself best!\n\nHere's what I'd suggest packing:\n\n" + "\n".join(f"- {item}" for item in packing_list) + "\n\nRemember, the playa provides, but it's always better to be prepared. Don't forget to bring your radical self-reliance along with everything else!"
|
| 129 |
+
prompt = f"{current_year_info}\n\nUser asked for a packing list. Respond with this information, maintaining the friendly tone and adding your personal touch: {context}"
|
| 130 |
+
|
| 131 |
+
elif "weather" in user_message:
|
| 132 |
+
weather_forecast = get_weather()
|
| 133 |
+
weather_report = format_weather_report(weather_forecast)
|
| 134 |
+
context = f"Hey there, playa pal! You're asking about the weather, huh? Well, let me tell you, it's as unpredictable as a dust devil, but I'll do my best to give you the lowdown.\n\n{weather_report}\n\nNow, remember, weather on the playa is like a wild art car - it can change direction at any moment! Always be prepared for heat, cold, dust, and maybe even a little rain. Embrace the elements, but stay safe out there!"
|
| 135 |
+
prompt = f"{current_year_info}\n\nUser asked about the weather. Respond with this information, maintaining the friendly tone and adding your personal touch: {context}"
|
| 136 |
+
|
| 137 |
+
elif "principles" in user_message:
|
| 138 |
+
principles_info = "\n".join([f"{principle}: {description}" for principle, description in burning_man_principles.items()])
|
| 139 |
+
context = f"Ah, the 10 Principles! The very heart and soul of Burning Man. These aren't just rules, my dusty friend, they're a way of life on and off the playa. Let me break them down for you in true Burner style:\n\n{principles_info}\n\nRemember, these principles aren't just for Burning Man - they're a blueprint for building a better world. Which one resonates with you the most?"
|
| 140 |
+
prompt = f"{current_year_info}\n\nUser asked about the Burning Man principles. Respond with this information, maintaining the friendly tone and adding your personal touch: {context}"
|
| 141 |
+
|
| 142 |
+
elif "survival tips" in user_message:
|
| 143 |
+
tips = "\n".join([f"- {tip}" for tip in survival_tips])
|
| 144 |
+
context = f"Alright, future dusty warrior! Surviving and thriving on the playa is an art form, and I'm here to help you master it. Here are some tried-and-true survival tips from a seasoned Burner:\n\n{tips}\n\nRemember, the key to survival is preparation, but the key to thriving is participation. Embrace the dust, the heat, and the beautiful chaos. You've got this!"
|
| 145 |
+
prompt = f"{current_year_info}\n\nUser asked for survival tips. Respond with this information, maintaining the friendly tone and adding your personal touch: {context}"
|
| 146 |
+
|
| 147 |
+
else:
|
| 148 |
+
prompt = f"{current_year_info}\n\nUser: {message}\n\nAssistant:"
|
| 149 |
|
| 150 |
bot_message = await chat_with_groq(prompt, history)
|
| 151 |
|
|
|
|
| 157 |
except Exception as e:
|
| 158 |
logger.error(f"Error in chat_interface: {str(e)}")
|
| 159 |
burner_error_message = (
|
| 160 |
+
"Whoa there, dusty friend! Looks like a sandstorm just hit our connection. "
|
| 161 |
+
"But no worries - we Burners are all about adapting to challenges. "
|
| 162 |
+
"Why don't you try asking your question again? Remember, persistence is key on the playa!"
|
| 163 |
)
|
| 164 |
return burner_error_message
|
| 165 |
|