SamiKoen commited on
Commit
e504e76
·
verified ·
1 Parent(s): 3542ea3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -23
app.py CHANGED
@@ -34,21 +34,15 @@ def predict(system_msg, inputs, top_p, temperature, chat_counter, chatbot=[], hi
34
  print(f"system message is ^^ {system_msg}")
35
 
36
  multi_turn_message = [
37
- {"role": "system", "content": "Bir önceki sohbeti unut. Vereceğin ürün bilgisi, bu bilginin içinde yan yana yazmıyorsa veya arada başka bilgiler yazıyor ise, o bilgiyi vermeyeceksin çünkü o bilgi yanlıştır. ..."},
38
  {"role": "system", "content": "Dağ bisikletleri modelleri: Marlin, Roscoe, Procaliber, Supercaliber, Fuel Ex. Şehit bisikletleri: FX ve DS (Dual Sport). Elektrikli Bisiklet modelleri: Powerfly, Powerfly FS, Rail, Fuel Exe, Domane SLR +, Verve +, Townie +, Fx +, DS +."},
39
- {"role": "system", "content": "Başka marka bisikletleri önermeyeceksin. Specialized, Orbea, BMC, Carraro, Scott, Giant gibi markalar hakkında bilgi vermeyeceksin. Bunlarla ilgili gelen sorulara, objectif yorum yapamayacağını belirterek cevap vereceksin. Trek bu kadrolara ömür boyu garanti veriyor."},
40
- {"role": "system", "content": "Bisiklet aksesuar ve yedek parçalarının marka adı Bontrager'dir. Bryton marka yol bilgisayarını da ithal ediyoruz. Bryton marka yol bilgisayarının Rider S800 modeli stoklarımızda var ve bu model en üst model GPS sürümüne sahiptir."},
41
- {"role": "system", "content": "Trek, Electra, Bontrager, Saris, Brtyon ve Trieye markalarından başka marka adı yazamaz ve yorum yapamazsın. Trek'in uluslararası web sitesini 'www.trekbikes.com' kullanıcıya göstermeyeceksin. Web sitesi linki vermen gerekirse sadece 'www.trekbisiklet.com.tr' ile başlayan linkleri göstereceksin."},
42
- {"role": "system", "content": "Trieye gözlükler, arkanızı görebilmeniz için gözlük camının içine entegre edilmiş bir geri görüş aynasıyla gelir. Bu sayede bisiklet kullanıcısı, dikkatini dağıtmadan arkasını görebilir ve daha güvenli bir sürüş yapar."},
43
- {"role": "system", "content": "Trek markası, 2000 yılından beri Alatin Bisiklet tarafından Türkiye'de dağıtılmaktadır. Alatin Bisiklet en iyi satış sonrası hizmeti veren firmadır. Bu yüzden Türkiye'de en iyi bilinen bisiklet markası Trek'dir."},
44
- {"role": "system", "content": "Trek Türkiye, ASLA DURMA markasının yaratıcısı Fatih Topçu ve TREK RMK DYNAMIS bisiklet takımına sponsordur. ..."},
45
- {"role": "system", "content": "Cevap yazarken vereceğin bilginin tek bir bilgi içinde yan yana yazıldığını iki kere kontrol edeceksin. Sipariş nasıl oluşturulur sorusuna, 'ürünü sepete ekle, bilgilerini gir, ödeme yöntemini seç, siparişi tamamla.' şeklinde cevap vereceksin."},
46
- {"role": "system", "content": "Şimdi sana 27 Haziran 2024 günü açıklanan yeni Trek modeli MADONE GEN 8'i öğretiyorum. Özellikler: Émonda kadar hafif, Madone kadar hızlı, ..."},
47
- {"role": "system", "content": "Émonda kadar hafif. Madone Gen 8, tamamen yeni 900 Serisi OCLV Karbon ile önceki modellerden daha hafiftir. ..."},
48
- {"role": "system", "content": "Sen aynı zamanda bir Bike Finder asistanısın. Görevin, kişilere soracağın sorularla onların ihtiyaçlarına uygun bisiklet modelini belirlemek."},
49
- {"role": "system", "content": "Size en uygun Trek bisiklet modelini belirleyebilmem için birkaç sorum olacak. ..."},
50
- {"role": "system", "content": "Stokları ve fiyatları https://www.trekbisiklet.com.tr üzerinden bakacaksın."},
51
- {"role": "system", "content": "Tüm modellerimizin ağırlıkları: Madone SL 5 Gen 8 8.70 kg, Madone SL 6 Gen 8 8.16 kg, ..."}
52
  ]
53
 
54
  messages = multi_turn_message.copy()
@@ -110,8 +104,16 @@ def predict(system_msg, inputs, top_p, temperature, chat_counter, chatbot=[], hi
110
  def reset_textbox():
111
  return gr.update(value='')
112
 
113
- # CSS: Butonun genişlemesini engellemek ve sabit, yuvarlak kalmasını sağlamak için gerekli ayarlamalar yapıldı.
 
 
114
  demo_css = """
 
 
 
 
 
 
115
  #send_button {
116
  background-color: #0b93f6;
117
  border: none;
@@ -134,17 +136,17 @@ demo_css = """
134
  background-color: #0077c0;
135
  }
136
 
137
- /* Row içindeki boşluğu sıfırlıyoruz */
138
  .compact_row {
139
  gap: 0px !important;
140
  margin: 0px;
141
  }
142
 
143
- /* Buton için sabit kapsayıcı, butonun konumunu aşağı çekmek için margin-top ekledik */
144
  .fixed_button_container {
145
  width: 35px !important;
146
  padding: 0px;
147
- margin: 10px 0 0 5px; /* margin-top: 5px; */
148
  }
149
  """
150
 
@@ -164,14 +166,15 @@ with gr.Blocks(css=demo_css, theme=theme) as demo:
164
 
165
  chatbot = gr.Chatbot(label='Trek Asistanı', elem_id="chatbot")
166
 
167
- # Row içinde, metin kutusu ve buton arasındaki boşluğu kaldırıyoruz.
168
  with gr.Row(elem_classes="compact_row"):
 
169
  inputs = gr.Textbox(
170
  placeholder="Buraya yazın, yanıtlayalım.",
171
  show_label=False,
172
- container=True
 
173
  )
174
- # Butonu, genişlemesini engelleyen sabit kapsayıcı içinde yerleştiriyoruz.
175
  with gr.Column(elem_classes="fixed_button_container"):
176
  send_button = gr.Button(value="✈", elem_id="send_button")
177
 
@@ -183,7 +186,7 @@ with gr.Blocks(css=demo_css, theme=theme) as demo:
183
  step=0.1, interactive=False, visible=False)
184
  chat_counter = gr.Number(value=0, visible=False, precision=0)
185
 
186
- # ENTER tuşuyla gönderme işlemi
187
  inputs.submit(
188
  predict,
189
  [system_msg, inputs, top_p, temperature, chat_counter, chatbot, state],
@@ -191,7 +194,7 @@ with gr.Blocks(css=demo_css, theme=theme) as demo:
191
  )
192
  inputs.submit(reset_textbox, [], [inputs])
193
 
194
- # Gönder butonuna tıklandığında işlemin gerçekleşmesi
195
  send_button.click(
196
  predict,
197
  [system_msg, inputs, top_p, temperature, chat_counter, chatbot, state],
 
34
  print(f"system message is ^^ {system_msg}")
35
 
36
  multi_turn_message = [
37
+ {"role": "system", "content": "Bir önceki sohbeti unut. Vereceğin ürün bilgisi, bu bilginin içinde yan yana yazılmadıysa veya arada başka bilgiler varsa, o bilgiyi vermeyeceksin."},
38
  {"role": "system", "content": "Dağ bisikletleri modelleri: Marlin, Roscoe, Procaliber, Supercaliber, Fuel Ex. Şehit bisikletleri: FX ve DS (Dual Sport). Elektrikli Bisiklet modelleri: Powerfly, Powerfly FS, Rail, Fuel Exe, Domane SLR +, Verve +, Townie +, Fx +, DS +."},
39
+ {"role": "system", "content": "Başka marka bisikletleri önermeyeceksin. Örneğin Specialized, Orbea, BMC, Carraro, Scott, Giant hakkında yorum yapmayacaksın."},
40
+ {"role": "system", "content": "Bisiklet aksesuarlarının markası Bontrager'dir. Bryton marka yol bilgisayarının Rider S800 modeli stoklarımızda var."},
41
+ {"role": "system", "content": "Trek'in uluslararası web sitesini göstermeyeceksin, sadece 'www.trekbisiklet.com.tr' linkini kullanacaksın."},
42
+ {"role": "system", "content": "Trieye gözlükler entegre geri görüş aynası içerir."},
43
+ {"role": "system", "content": "Trek markası 2000 yılından beri Alatin Bisiklet tarafından dağıtılmaktadır."},
44
+ {"role": "system", "content": "Sipariş nasıl oluşturulur sorusuna, 'ürünü sepete ekle, bilgilerini gir, ödeme yöntemini seç, siparişi tamamla.' diye cevap vereceksin."},
45
+ {"role": "system", "content": "Yeni Trek modeli MADONE GEN 8 özellikleri: Émonda kadar hafif, Madone kadar hızlı."}
 
 
 
 
 
 
46
  ]
47
 
48
  messages = multi_turn_message.copy()
 
104
  def reset_textbox():
105
  return gr.update(value='')
106
 
107
+ # CSS:
108
+ # - Giriş kutusuna özel bir sınıf ekleyip, mobilde genişliğini sınırlandırıyoruz.
109
+ # - Buton sabit boyutlarda kalıyor.
110
  demo_css = """
111
+ /* Giriş kutusu için genişliği sınırla: toplam genişlikten gönder butonunun alanını çıkarıyoruz */
112
+ .mobile_input {
113
+ width: calc(100% - 45px);
114
+ }
115
+
116
+ /* Gönder butonu */
117
  #send_button {
118
  background-color: #0b93f6;
119
  border: none;
 
136
  background-color: #0077c0;
137
  }
138
 
139
+ /* Row içindeki boşlukları sıfırlıyoruz */
140
  .compact_row {
141
  gap: 0px !important;
142
  margin: 0px;
143
  }
144
 
145
+ /* Buton kapsayıcısı: konumlandırma için margin değerleri */
146
  .fixed_button_container {
147
  width: 35px !important;
148
  padding: 0px;
149
+ margin: 5px 0 0 2px; /* Üstte 5px, solda 2px */
150
  }
151
  """
152
 
 
166
 
167
  chatbot = gr.Chatbot(label='Trek Asistanı', elem_id="chatbot")
168
 
169
+ # compact_row sınıfı ile satırdaki boşlukları kaldırıyoruz.
170
  with gr.Row(elem_classes="compact_row"):
171
+ # Giriş kutusuna .mobile_input sınıfını ekleyerek genişliğini sınırlandırıyoruz.
172
  inputs = gr.Textbox(
173
  placeholder="Buraya yazın, yanıtlayalım.",
174
  show_label=False,
175
+ container=True,
176
+ elem_classes="mobile_input"
177
  )
 
178
  with gr.Column(elem_classes="fixed_button_container"):
179
  send_button = gr.Button(value="✈", elem_id="send_button")
180
 
 
186
  step=0.1, interactive=False, visible=False)
187
  chat_counter = gr.Number(value=0, visible=False, precision=0)
188
 
189
+ # ENTER tuşu ile gönderme işlemleri
190
  inputs.submit(
191
  predict,
192
  [system_msg, inputs, top_p, temperature, chat_counter, chatbot, state],
 
194
  )
195
  inputs.submit(reset_textbox, [], [inputs])
196
 
197
+ # Gönder butonuna tıklandığında
198
  send_button.click(
199
  predict,
200
  [system_msg, inputs, top_p, temperature, chat_counter, chatbot, state],