zenaight commited on
Commit
008b296
·
1 Parent(s): 5c9a3a3

not saving bug attempt 2

Browse files
Files changed (2) hide show
  1. ai_chat.py +10 -8
  2. whatsapp.py +2 -1
ai_chat.py CHANGED
@@ -190,6 +190,10 @@ async def process_message(user_message: str, user_info: dict = None, session_id:
190
  if session_id:
191
  session_messages = await get_session_messages(session_id, limit=30)
192
 
 
 
 
 
193
  # Check if this is a response to a persona question
194
  is_persona_question = False
195
  current_field = None
@@ -206,12 +210,6 @@ async def process_message(user_message: str, user_info: dict = None, session_id:
206
  parsed_response = await parse_user_response(user_message, field)
207
  break
208
 
209
- # Only check for new persona questions if this isn't a response to one
210
- should_ask, field_to_ask = (False, None)
211
- if not is_persona_question:
212
- conversation_context = " ".join([msg["content"] for msg in session_messages[-5:]]) + " " + user_message
213
- should_ask, field_to_ask = await should_ask_persona_question(persona, conversation_context)
214
-
215
  # Process with AI
216
  result = await chat_graph.ainvoke({
217
  "user_message": user_message,
@@ -227,8 +225,12 @@ async def process_message(user_message: str, user_info: dict = None, session_id:
227
  "persona_check": (should_ask, field_to_ask)
228
  })
229
 
230
- # Handle persona updates
231
- if result.get("update_persona") and wa_id:
 
 
 
 
232
  await update_persona_field(wa_id, result["persona_field"], result["persona_value"])
233
 
234
  # Save messages to database
 
190
  if session_id:
191
  session_messages = await get_session_messages(session_id, limit=30)
192
 
193
+ # Check if we should ask persona questions
194
+ conversation_context = " ".join([msg["content"] for msg in session_messages[-5:]]) + " " + user_message
195
+ should_ask, field_to_ask = await should_ask_persona_question(persona, conversation_context)
196
+
197
  # Check if this is a response to a persona question
198
  is_persona_question = False
199
  current_field = None
 
210
  parsed_response = await parse_user_response(user_message, field)
211
  break
212
 
 
 
 
 
 
 
213
  # Process with AI
214
  result = await chat_graph.ainvoke({
215
  "user_message": user_message,
 
225
  "persona_check": (should_ask, field_to_ask)
226
  })
227
 
228
+ print("LangGraph result:", result) # Debugging
229
+ # Save persona field if present
230
+ if result.get("persona_field") and result.get("persona_value") is not None and wa_id:
231
+ print(f"Saving persona field {result['persona_field']} with value {result['persona_value']} for user {wa_id}")
232
+ await update_persona_field(wa_id, result["persona_field"], result["persona_value"])
233
+ elif result.get("update_persona") and wa_id:
234
  await update_persona_field(wa_id, result["persona_field"], result["persona_value"])
235
 
236
  # Save messages to database
whatsapp.py CHANGED
@@ -15,7 +15,8 @@ async def send_whatsapp_message(wa_id: str, message: str):
15
  "text": {"body": message}
16
  }
17
  try:
18
- resp = await httpx.post(url, headers=headers, json=payload)
 
19
  print(f"Sent message → {resp.status_code}: {resp.text}")
20
  return resp.status_code == 200
21
  except Exception as e:
 
15
  "text": {"body": message}
16
  }
17
  try:
18
+ async with httpx.AsyncClient() as client:
19
+ resp = await client.post(url, headers=headers, json=payload)
20
  print(f"Sent message → {resp.status_code}: {resp.text}")
21
  return resp.status_code == 200
22
  except Exception as e: