SamiKoen Claude commited on
Commit
95cc1f5
·
1 Parent(s): f53e733

fix: add Trek product model names to keywords and debug logging

Browse files

- Add MARLIN, MADONE, FUEL, DOMANE etc. to product_keywords
- "marlin 4" now properly detected as product query
- Add debug logging to track product query detection
- Fix issue where model names weren't triggering Combined API

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>

Files changed (1) hide show
  1. app.py +12 -1
app.py CHANGED
@@ -971,7 +971,10 @@ def process_whatsapp_message_with_memory(user_message, phone_number):
971
  if not product_found_improved:
972
  # Check if message seems to be asking about products
973
  product_keywords = ['fiyat', 'kaç', 'stok', 'var mı', 'mevcut', 'bisiklet', 'bike',
974
- 'trek', 'model', 'beden', 'renk', 'mağaza', 'nerede', 'hangi']
 
 
 
975
 
976
  # Common non-product responses
977
  non_product_responses = ['süper', 'harika', 'güzel', 'teşekkür', 'tamam', 'olur',
@@ -980,16 +983,24 @@ def process_whatsapp_message_with_memory(user_message, phone_number):
980
  is_product_query = False
981
  lower_message = user_message.lower()
982
 
 
 
 
983
  # Check if it's likely a product query
984
  if any(keyword in lower_message for keyword in product_keywords):
985
  is_product_query = True
 
986
  # Check if it's NOT a simple response
987
  elif lower_message not in non_product_responses and len(lower_message.split()) > 1:
988
  # Multi-word queries might be product searches
989
  is_product_query = True
 
990
  # Single short words are usually not products
991
  elif len(lower_message.split()) == 1 and len(lower_message) < 6:
992
  is_product_query = False
 
 
 
993
 
994
  if is_product_query:
995
  # SADECE Combined API kullan
 
971
  if not product_found_improved:
972
  # Check if message seems to be asking about products
973
  product_keywords = ['fiyat', 'kaç', 'stok', 'var mı', 'mevcut', 'bisiklet', 'bike',
974
+ 'trek', 'model', 'beden', 'renk', 'mağaza', 'nerede', 'hangi',
975
+ 'marlin', 'madone', 'fuel', 'domane', 'slash', 'remedy', 'session', 'procaliber',
976
+ 'roscoe', 'supercommuter', 'allant', 'verve', 'dual sport', 'fx', 'checkpoint',
977
+ 'émonda', 'speed concept', 'boone', 'crockett', 'stache', 'farley']
978
 
979
  # Common non-product responses
980
  non_product_responses = ['süper', 'harika', 'güzel', 'teşekkür', 'tamam', 'olur',
 
983
  is_product_query = False
984
  lower_message = user_message.lower()
985
 
986
+ logger.info(f"🔍 Product query detection for: '{user_message}'")
987
+ logger.info(f"🔤 Lower message: '{lower_message}'")
988
+
989
  # Check if it's likely a product query
990
  if any(keyword in lower_message for keyword in product_keywords):
991
  is_product_query = True
992
+ logger.info(f"✅ Product query detected via keywords")
993
  # Check if it's NOT a simple response
994
  elif lower_message not in non_product_responses and len(lower_message.split()) > 1:
995
  # Multi-word queries might be product searches
996
  is_product_query = True
997
+ logger.info(f"✅ Product query detected via multi-word rule")
998
  # Single short words are usually not products
999
  elif len(lower_message.split()) == 1 and len(lower_message) < 6:
1000
  is_product_query = False
1001
+ logger.info(f"❌ Product query rejected - single short word")
1002
+
1003
+ logger.info(f"🎯 Final is_product_query: {is_product_query}")
1004
 
1005
  if is_product_query:
1006
  # SADECE Combined API kullan