SamiKoen commited on
Commit
0ca9ed5
·
1 Parent(s): d99e9d0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -47
app.py CHANGED
@@ -106,50 +106,51 @@ demo.queue(max_size=20, concurrency_count=20).launch(debug=True)
106
 
107
  import requests
108
  import xml.etree.ElementTree as ET
109
-
110
- # Envanter yönetim sistemi URL'niz
111
- url = "https://bizimhesap.com/api/product/getproductsasxml?apikey=6F4BAF303FA240608A39653824B6C495"
112
-
113
- # URL'ye bir istek gönderin ve yanıt içeriğini alın
114
- response = requests.get(url).content
115
-
116
- # Yanıt XML'ini ayrıştırın
117
- root = ET.fromstring(response)
118
-
119
- # Her ürün öğesi üzerinde döngü yapın ve değerleri çıkarın
120
- urunler = []
121
- for product in root.findall('.//product'):
122
- stok_kod = product.find('code').text
123
- urun_ad = product.find('name').text
124
- satis_fiyat = product.find('price').text
125
- varyant = product.find('variant').text
126
- stok = int(product.find('quantity').text)
127
-
128
- # Çıkarılan değerleri ürünler listesine ekleyin
129
- urunler.append({
130
- 'stok_kod': stok_kod,
131
- 'urun_ad': urun_ad,
132
- 'satis_fiyat': satis_fiyat,
133
- 'varyant': varyant,
134
- 'stok': stok
135
- })
136
-
137
- # Şimdi urunler listesi, çıkarılan değerlere sahip tüm ürünlerin sözlüklerini içeriyor.
138
-
139
- # Müşterilerin isteklerini işlemek ve uygun bir yanıt sağlamak için 'Gradio' tabanlı sohbet botunuzda girdileri ve çıktıları geliştirebilirsiniz.
140
-
141
- import gradio as gr
142
-
143
- def urun_stok_sorgula(urun_kodu):
144
- for urun in urunler:
145
- if urun['stok_kod'] == urun_kodu:
146
- # Eğer talep edilen ürün bulunursa, stok seviyesini döndürün
147
- return f"{urun['urun_ad']} ürününün stok seviyesi {urun['stok']} adet."
148
-
149
- # Eğer talep edilen ürün bulunamazsa, uygun bir mesaj döndürün
150
- return f"Maalesef {urun_kodu} ürününün stok seviyesi hakkında hiçbir bilgimiz yok."
151
-
152
- iface = gr.Interface(fn=urun_stok_sorgula, inputs="text", outputs="text", title="Ürün Stok Sorgulama", description="Lütfen ürün kodunu girin.")
153
-
154
- # Arayüzü çalıştırın
155
- iface.launch()
 
 
106
 
107
  import requests
108
  import xml.etree.ElementTree as ET
109
+ from transformers import pipeline
110
+
111
+ # Hugging Face pipeline'ını yükle
112
+ nlp = pipeline('text-generation', model='EleutherAI/gpt-neo-2.7B')
113
+
114
+ # API url'si
115
+ url = 'https://bizimhesap.com/api/product/getproductsasxml?apikey=6F4BAF303FA240608A39653824B6C495'
116
+
117
+ # Verileri al
118
+ response = requests.get(url)
119
+ xml_data = response.content
120
+
121
+ # XML verilerini ayrıştır
122
+ root = ET.fromstring(xml_data)
123
+ products = root.findall('urunler/urun')
124
+
125
+ # Chatbot'a girdi al
126
+ input_text = input("Merhaba, ne yapabilirim? ")
127
+
128
+ # Girdiye göre yanıt üret
129
+ if 'stok' in input_text and ('durum' in input_text or 'seviye' in input_text):
130
+ # Eğer kullanıcı stok durumunu sorduysa
131
+ for product in products:
132
+ if product.find('urun_ad').text.lower() in input_text.lower():
133
+ stok = int(product.find('stok').text)
134
+ if stok > 0:
135
+ response_text = f"{product.find('urun_ad').text} ürününden {stok} adet mevcut."
136
+ else:
137
+ response_text = f"{product.find('urun_ad').text} ürünü stoklarda yok."
138
+ break
139
+ else:
140
+ response_text = "Aradığınız ürün stoklarda yok."
141
+ elif 'fiyat' in input_text:
142
+ # Eğer kullanıcı fiyat bilgisi istiyorsa
143
+ for product in products:
144
+ if product.find('urun_ad').text.lower() in input_text.lower():
145
+ price = float(product.find('satis_fiyat').text)
146
+ response_text = f"{product.find('urun_ad').text} ürününün fiyatı {price:.2f} TL."
147
+ break
148
+ else:
149
+ response_text = "Aradığınız ürün fiyatı hakkında bilgi verilemedi."
150
+ else:
151
+ # Girdiye göre otomatik bir yanıt üret
152
+ generated_text = nlp(input_text, max_length=50, do_sample=True, temperature=0.7)
153
+ response_text = generated_text[0]['generated_text'].strip()
154
+
155
+ # Yanıtı yazdır
156
+ print(response_text)