Ilke Ileri commited on
Commit
0385f33
·
1 Parent(s): 260002e

Fix: properly extract user messages from Vapi conversation history

Browse files
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -77,19 +77,25 @@ def chat_completions():
77
  data = request.get_json()
78
  messages = data.get("messages", [])
79
 
80
- if not messages:
 
 
 
81
  prompt = data.get("prompt", "")
82
  else:
83
- last_message = messages[-1] if messages else {}
84
- prompt = last_message.get("content", "")
85
 
86
  if not prompt:
87
  return jsonify({"error": "No prompt provided"}), 400
88
 
 
 
89
  # Sales-only keyword filter
90
  sales_keywords = ['sale', 'price', 'objection', 'close', 'deal', 'customer', 'prospect',
91
  'lead', 'pitch', 'negotiate', 'client', 'business', 'product', 'service',
92
- 'wisemate', 'revenue', 'quota', 'conversion', 'crm', 'follow up']
 
93
 
94
  # Check if question is sales-related
95
  prompt_lower = prompt.lower()
 
77
  data = request.get_json()
78
  messages = data.get("messages", [])
79
 
80
+ # Extract user messages (ignore system messages from Vapi)
81
+ user_messages = [msg for msg in messages if msg.get("role") == "user"]
82
+
83
+ if not user_messages:
84
  prompt = data.get("prompt", "")
85
  else:
86
+ # Get the last user message
87
+ prompt = user_messages[-1].get("content", "")
88
 
89
  if not prompt:
90
  return jsonify({"error": "No prompt provided"}), 400
91
 
92
+ print(f"User prompt: {prompt}")
93
+
94
  # Sales-only keyword filter
95
  sales_keywords = ['sale', 'price', 'objection', 'close', 'deal', 'customer', 'prospect',
96
  'lead', 'pitch', 'negotiate', 'client', 'business', 'product', 'service',
97
+ 'wisemate', 'revenue', 'quota', 'conversion', 'crm', 'follow up', 'meeting',
98
+ 'appointment', 'schedule', 'calendar', 'demo', 'call', 'consultation']
99
 
100
  # Check if question is sales-related
101
  prompt_lower = prompt.lower()