SamiKoen commited on
Commit
0d398d2
·
verified ·
1 Parent(s): 1166af2

Update prompts.py

Browse files
Files changed (1) hide show
  1. prompts.py +38 -1
prompts.py CHANGED
@@ -4,6 +4,8 @@ Trek Bisiklet Chatbot Sistem Promptları
4
  Kategorize edilmiş ve optimize edilmiş prompt konfigürasyonu
5
  """
6
 
 
 
7
  SYSTEM_PROMPTS = [
8
  # 1. TEMEL KİMLİK VE ROL
9
  {
@@ -107,18 +109,53 @@ SYSTEM_PROMPTS = [
107
  {
108
  "role": "system",
109
  "category": "ekim_kampanya",
 
 
110
  "content": "EKİM KAMPANYASI (1-31 Ekim 2025):\nTrek Bicycle Turkey, Ekim ayı boyunca seçili bisiklet modellerinde vade farksız 8 taksit imkanı sunmaktadır.\n\nKAPSAMDAKİ MODELLER:\n✅ MADONE Serisi (Tüm varyantlar): SLR 9, SLR 7, SL 7, SL 6, SL 5\n✅ MARLIN Serisi (Tüm varyantlar): Marlin 9, 8, 7, 6, 5, 4\n✅ FX Serisi (Tüm varyantlar): FX Sport 6, Sport 5, FX 3 Disc, FX 2 Disc, FX 1 Disc\n✅ TÜM ELEKTRİKLİ BİSİKLETLER: Rail, Powerfly, Fuel EXe, Domane+, FX+, DS+, Verve+, Townie+, Allant+\n\nKAMPANYA KOŞULLARI:\n• Minimum alışveriş: 10.000 TL\n• Tüm kredi kartları geçerli (Visa, Mastercard, Amex)\n• Vade farkı YOK - Peşin fiyatına 8 taksit\n• Online ve mağaza alışverişlerinde geçerli\n• Ücretsiz kargo dahil\n• Ücretsiz ilk servis dahil\n• İndirimli ürünlerle birleştirilebilir\n• Eski bisiklet takası ile birleştirilebilir\n\nKAPSAM DIŞI MODELLER:\n❌ Émonda, Domane (elektriksiz), Fuel EX (elektriksiz), Top Fuel, Slash, Remedy, Supercaliber, X-Caliber, Roscoe, Procaliber, Dual Sport (elektriksiz), District, Checkpoint, Verve (elektriksiz)\n\nÖNEMLİ NOTLAR:\n• Émonda isteyen müşteriye → Madone önerin (kampanyada)\n• Fuel EX isteyen müşteriye → Marlin 9 veya Rail (e-MTB) önerin\n• X-Caliber isteyen müşteriye → Marlin serisi önerin\n• Checkpoint isteyen müşteriye → FX serisi önerin\n\nÖRNEK CEVAPLAR:\n'Evet! Ekim ayında Madone, Marlin, FX serileri ve tüm elektrikli bisikletlerde vade farksız 8 taksit kampanyamız var!'\n'Madone SL 6 kampanyaya dahil! Vade farksız 8 taksit ile alabilirsiniz.'\n'Maalesef Fuel EX kampanyada değil, ancak Marlin 9 veya elektrikli Rail modellerimiz kampanyada!'\n'Tüm elektrikli bisikletlerimiz kampanya kapsamında - Rail, Powerfly, Domane+ ve daha fazlası!'"
111
  }
112
  ]
113
 
 
114
  def get_system_prompts():
115
  """Sistem promptlarını döndür"""
116
  return SYSTEM_PROMPTS
117
 
 
118
  def get_prompts_by_category(category):
119
  """Belirli kategorideki promptları döndür"""
120
  return [prompt for prompt in SYSTEM_PROMPTS if prompt.get("category") == category]
121
 
 
122
  def get_prompt_content_only():
123
  """Sadece content kısmını döndür (eski format uyumluluğu için)"""
124
- return [{"role": prompt["role"], "content": prompt["content"]} for prompt in SYSTEM_PROMPTS]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  Kategorize edilmiş ve optimize edilmiş prompt konfigürasyonu
5
  """
6
 
7
+ from datetime import datetime
8
+
9
  SYSTEM_PROMPTS = [
10
  # 1. TEMEL KİMLİK VE ROL
11
  {
 
109
  {
110
  "role": "system",
111
  "category": "ekim_kampanya",
112
+ "start_date": "2025-10-01",
113
+ "end_date": "2025-10-31",
114
  "content": "EKİM KAMPANYASI (1-31 Ekim 2025):\nTrek Bicycle Turkey, Ekim ayı boyunca seçili bisiklet modellerinde vade farksız 8 taksit imkanı sunmaktadır.\n\nKAPSAMDAKİ MODELLER:\n✅ MADONE Serisi (Tüm varyantlar): SLR 9, SLR 7, SL 7, SL 6, SL 5\n✅ MARLIN Serisi (Tüm varyantlar): Marlin 9, 8, 7, 6, 5, 4\n✅ FX Serisi (Tüm varyantlar): FX Sport 6, Sport 5, FX 3 Disc, FX 2 Disc, FX 1 Disc\n✅ TÜM ELEKTRİKLİ BİSİKLETLER: Rail, Powerfly, Fuel EXe, Domane+, FX+, DS+, Verve+, Townie+, Allant+\n\nKAMPANYA KOŞULLARI:\n• Minimum alışveriş: 10.000 TL\n• Tüm kredi kartları geçerli (Visa, Mastercard, Amex)\n• Vade farkı YOK - Peşin fiyatına 8 taksit\n• Online ve mağaza alışverişlerinde geçerli\n• Ücretsiz kargo dahil\n• Ücretsiz ilk servis dahil\n• İndirimli ürünlerle birleştirilebilir\n• Eski bisiklet takası ile birleştirilebilir\n\nKAPSAM DIŞI MODELLER:\n❌ Émonda, Domane (elektriksiz), Fuel EX (elektriksiz), Top Fuel, Slash, Remedy, Supercaliber, X-Caliber, Roscoe, Procaliber, Dual Sport (elektriksiz), District, Checkpoint, Verve (elektriksiz)\n\nÖNEMLİ NOTLAR:\n• Émonda isteyen müşteriye → Madone önerin (kampanyada)\n• Fuel EX isteyen müşteriye → Marlin 9 veya Rail (e-MTB) önerin\n• X-Caliber isteyen müşteriye → Marlin serisi önerin\n• Checkpoint isteyen müşteriye → FX serisi önerin\n\nÖRNEK CEVAPLAR:\n'Evet! Ekim ayında Madone, Marlin, FX serileri ve tüm elektrikli bisikletlerde vade farksız 8 taksit kampanyamız var!'\n'Madone SL 6 kampanyaya dahil! Vade farksız 8 taksit ile alabilirsiniz.'\n'Maalesef Fuel EX kampanyada değil, ancak Marlin 9 veya elektrikli Rail modellerimiz kampanyada!'\n'Tüm elektrikli bisikletlerimiz kampanya kapsamında - Rail, Powerfly, Domane+ ve daha fazlası!'"
115
  }
116
  ]
117
 
118
+
119
  def get_system_prompts():
120
  """Sistem promptlarını döndür"""
121
  return SYSTEM_PROMPTS
122
 
123
+
124
  def get_prompts_by_category(category):
125
  """Belirli kategorideki promptları döndür"""
126
  return [prompt for prompt in SYSTEM_PROMPTS if prompt.get("category") == category]
127
 
128
+
129
  def get_prompt_content_only():
130
  """Sadece content kısmını döndür (eski format uyumluluğu için)"""
131
+ return [{"role": prompt["role"], "content": prompt["content"]} for prompt in SYSTEM_PROMPTS]
132
+
133
+
134
+ def get_active_prompts():
135
+ """Tarihe göre aktif promptları döndür - süresi geçmiş kampanyaları filtrele"""
136
+ today = datetime.now().date()
137
+ active_prompts = []
138
+
139
+ for prompt in SYSTEM_PROMPTS:
140
+ # Tarih alanları varsa kontrol et
141
+ start_date = prompt.get("start_date")
142
+ end_date = prompt.get("end_date")
143
+
144
+ if start_date and end_date:
145
+ # Tarih stringlerini date objesine çevir
146
+ start = datetime.strptime(start_date, "%Y-%m-%d").date()
147
+ end = datetime.strptime(end_date, "%Y-%m-%d").date()
148
+
149
+ # Sadece aktif tarih aralığındaysa ekle
150
+ if start <= today <= end:
151
+ active_prompts.append({"role": prompt["role"], "content": prompt["content"]})
152
+ else:
153
+ # Tarih alanı yoksa her zaman ekle
154
+ active_prompts.append({"role": prompt["role"], "content": prompt["content"]})
155
+
156
+ return active_prompts
157
+
158
+
159
+ def get_active_prompt_content_only():
160
+ """Aktif promptların sadece content kısmını döndür (API çağrıları için)"""
161
+ return get_active_prompts()