Update app.py
Browse files
app.py
CHANGED
@@ -23,7 +23,7 @@ for item in root.findall('item'):
|
|
23 |
name_words = item.find('rootlabel').text.lower().split()
|
24 |
name = name_words[0]
|
25 |
full_name = ' '.join(name_words)
|
26 |
-
stockAmount =
|
27 |
price = item.find('priceWithTax').text
|
28 |
item_info = (stockAmount, price)
|
29 |
# name: ilk kelime (marka), item_info: (stok adedi, fiyat)
|
@@ -37,7 +37,8 @@ def predict(system_msg, inputs, top_p, temperature, chat_counter, chatbot=[], hi
|
|
37 |
}
|
38 |
print(f"system message is ^^ {system_msg}")
|
39 |
initial_message = [{"role": "user", "content": f"{inputs}"},]
|
40 |
-
|
|
|
41 |
{"role": "system", "content": "Trek Türkiye canlı destek hattına hoş geldiniz, demeyeceksin. Canlı sohbet için, sitede sol alt köşede bulunan YEŞİL düğmesine basarak kullanıcı kendi bilgilerini girebilir, bir Trek çalışanı kullanıcı ile iletişime geçecek. Trek Türkiye için web adresimiz: https://www.alatin.com.tr "},
|
42 |
{"role": "system", "content": "Bikee fit ücreti 1400 TL. İstanbul dışındaki bayileri bilmiyorsun, bayi soranlara cevap vermeyeceksin.. Tüm bayi detayları için https://www.alatin.com.tr/sayfa/bayilerimiz/ linkinine baksınlar. Bikefit işlem süresi yaklaşık 60 - 90 dakikadır."},
|
43 |
{"role": "system", "content": "Başka marka bisikletleri önermeyeceksin. Specialized, Orbea, BMC, Carraro, Scott, Giant diğer bisiklet markalar hakkında bilgi vermeyeceksin. Bunlarla ilgili gelen sorulara, objectif yorum yapamayacagini belirtip, cevap vermeyeceksin. Trek bu sayilan markalardan daha farkli bir teknoloji kullaniyor, bu teklonoji bisikletin saglamligini kaybetmeden hafif olmasina, alttan gelen titresimi emerek konforlu olmasina ve en önemlisi pedala uygulanan kuvvettin dogrudan yola aktarilmasina neden oluyor. Trek bu kadrolara ömür boyu garanti veriyor. "},
|
@@ -51,6 +52,17 @@ def predict(system_msg, inputs, top_p, temperature, chat_counter, chatbot=[], hi
|
|
51 |
{"role": "system", "content": "Cevap yazarken, en uzun 5 cümlelik cevaplar oluşturacaksın. Siparis nasil olusturulur sorusuna, şu sekilde cevap vereceksin, 'ürünü sepete ekle, bilgilerini gir, ödeme yöntemini seç, siparisi tamamla.'"},
|
52 |
]
|
53 |
messages = multi_turn_message
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
for data in chatbot:
|
55 |
user = {}
|
56 |
user["role"] = "user"
|
@@ -65,17 +77,7 @@ def predict(system_msg, inputs, top_p, temperature, chat_counter, chatbot=[], hi
|
|
65 |
temp["content"] = inputs
|
66 |
messages.append(temp)
|
67 |
|
68 |
-
|
69 |
-
for input in inputs.split():
|
70 |
-
input_words.append(str(input).lower())
|
71 |
-
|
72 |
-
for product_info in products:
|
73 |
-
|
74 |
-
if product_info[0] in input_words:
|
75 |
-
print(product_info[0])
|
76 |
-
new_msg = f"{product_info[2]} Stokta {product_info[1][0]} adet var ve EURO Fiyatı {product_info[1][1]} dır"
|
77 |
-
product_msg = {"role": "system", "content": new_msg}
|
78 |
-
messages.append(product_msg)
|
79 |
|
80 |
payload = {"model": "gpt-4", "messages": messages, "temperature": 0.7,
|
81 |
"top_p": 1.0, "n": 1, "stream": True, "presence_penalty": 0, "frequency_penalty": 0, }
|
|
|
23 |
name_words = item.find('rootlabel').text.lower().split()
|
24 |
name = name_words[0]
|
25 |
full_name = ' '.join(name_words)
|
26 |
+
stockAmount = "stokta"
|
27 |
price = item.find('priceWithTax').text
|
28 |
item_info = (stockAmount, price)
|
29 |
# name: ilk kelime (marka), item_info: (stok adedi, fiyat)
|
|
|
37 |
}
|
38 |
print(f"system message is ^^ {system_msg}")
|
39 |
initial_message = [{"role": "user", "content": f"{inputs}"},]
|
40 |
+
|
41 |
+
multi_turn_message = [{"role": "system", "content": "Sen bir yapay zeka modelisin ve gerçek zamanlı stok bilgilerine erişme yeteneğin var. En aşağıda ürünlerin adına, rengine, boyuna, stok adedine ve fiyatına tam erişimin var ve bunları bilmiyorum demeyeceksin. Sen bir AI Trek marka bisiklet uzmanı, bilir kişisi ve asistanısın. Trek bisiklet dışında hiç bir konuda cevap vermeyeceksin. Trek bisikletlerini İstanbulda 2 mağazadan görebilirler, bir tanesi Caddebostanda, diğeri Dereboyu 84 Ortaköyde. Ortaköy mağazası Saat 10.00 da açılıp, 19.00 da kapanıyor. Telefon numarası 0212 2271015. caddebostan mağazamızın adresi: Prof. Dr. Hulusi Behçet 18 Caddebostan, Kadıköy. Telefon numarası 0216 6292432, ortaköyden bir saat önce açılıyor ve ortaköyle aynı saate kapanıyor. Ortaköy mağazası Pazar günleri kapalıdır. Ancak Caddebostan mağazamız haftanın 7 günü açıktır. Caddebostan mağazası her gün 09.00 da açılır ve 19.00 kapanır. sadece Pazar günleri 10.00 da açılır ve 17.00 de kapanır. Caddebostan mağazamızda haftanın 1 günü Bike-Fit yapılmaktadır. Retul firmasının bikefit makinesini kullanıyoruz. Salı günleri bike-fit yapabiliyoruz. Yapan kişi Emre Yavuz. MTB Türkiye şampyonu ve 3 senedir Trek Caddebostanda Retul Bike fit yapıyor. Bike fit için rezervasyon yapılması gerekir. Bike fit yaptırmak isteyen kişi, bikefit linkinden rezervasyona basarak, kendi başına rezervasyon yapar. 2012 yılından beri Retul Bike Fit hizmeti veriyoruz."},
|
42 |
{"role": "system", "content": "Trek Türkiye canlı destek hattına hoş geldiniz, demeyeceksin. Canlı sohbet için, sitede sol alt köşede bulunan YEŞİL düğmesine basarak kullanıcı kendi bilgilerini girebilir, bir Trek çalışanı kullanıcı ile iletişime geçecek. Trek Türkiye için web adresimiz: https://www.alatin.com.tr "},
|
43 |
{"role": "system", "content": "Bikee fit ücreti 1400 TL. İstanbul dışındaki bayileri bilmiyorsun, bayi soranlara cevap vermeyeceksin.. Tüm bayi detayları için https://www.alatin.com.tr/sayfa/bayilerimiz/ linkinine baksınlar. Bikefit işlem süresi yaklaşık 60 - 90 dakikadır."},
|
44 |
{"role": "system", "content": "Başka marka bisikletleri önermeyeceksin. Specialized, Orbea, BMC, Carraro, Scott, Giant diğer bisiklet markalar hakkında bilgi vermeyeceksin. Bunlarla ilgili gelen sorulara, objectif yorum yapamayacagini belirtip, cevap vermeyeceksin. Trek bu sayilan markalardan daha farkli bir teknoloji kullaniyor, bu teklonoji bisikletin saglamligini kaybetmeden hafif olmasina, alttan gelen titresimi emerek konforlu olmasina ve en önemlisi pedala uygulanan kuvvettin dogrudan yola aktarilmasina neden oluyor. Trek bu kadrolara ömür boyu garanti veriyor. "},
|
|
|
52 |
{"role": "system", "content": "Cevap yazarken, en uzun 5 cümlelik cevaplar oluşturacaksın. Siparis nasil olusturulur sorusuna, şu sekilde cevap vereceksin, 'ürünü sepete ekle, bilgilerini gir, ödeme yöntemini seç, siparisi tamamla.'"},
|
53 |
]
|
54 |
messages = multi_turn_message
|
55 |
+
input_words = []
|
56 |
+
for input in inputs.split():
|
57 |
+
input_words.append(str(input).lower())
|
58 |
+
|
59 |
+
for product_info in products:
|
60 |
+
|
61 |
+
if product_info[0] in input_words:
|
62 |
+
print(product_info[0])
|
63 |
+
new_msg = f"{product_info[2]} {product_info[1][0]} ve fiyatı EURO {product_info[1][1]}"
|
64 |
+
product_msg = {"role": "system", "content": new_msg}
|
65 |
+
messages.append(product_msg)
|
66 |
for data in chatbot:
|
67 |
user = {}
|
68 |
user["role"] = "user"
|
|
|
77 |
temp["content"] = inputs
|
78 |
messages.append(temp)
|
79 |
|
80 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
payload = {"model": "gpt-4", "messages": messages, "temperature": 0.7,
|
83 |
"top_p": 1.0, "n": 1, "stream": True, "presence_penalty": 0, "frequency_penalty": 0, }
|