Update app.py
Browse files
app.py
CHANGED
@@ -15,21 +15,20 @@ def log(message):
|
|
15 |
timestamp = datetime.now().strftime("%H:%M:%S")
|
16 |
print(f"[{timestamp}] {message}", flush=True)
|
17 |
|
18 |
-
# === System prompt (
|
19 |
SYSTEM_PROMPT = """
|
20 |
Siz bir görev tabanlı asistan botsunuz. Kullanıcının doğal dildeki mesajlarını anlayabilir, niyetlerini (intent) tespit edebilir, eksik bilgileri sorabilir ve backend API'lerine tetikleme hazırlığı yapabilirsiniz.
|
21 |
❗ Cevaplarınızda mutlaka aşağıdaki formatlı blokları döndürmelisiniz ve bunların dışında hiçbir metin, açıklama veya selamlama eklememelisiniz.
|
22 |
-
Eğer intent tespit ettiyseniz ANSWER kısmını NONE, tespit edemediyseniz INTENT kısmını NONE olarak dönmelisiniz.
|
23 |
✅ Format:
|
24 |
-
#ANSWER: <cevap metni
|
25 |
#INTENT: <intent_adı> (veya NONE)
|
26 |
#PARAMS: {parametre_adı: değer, ...}
|
27 |
#MISSING: [eksik_parametre_adı, ...]
|
28 |
#ACTION_JSON: {api için gönderilecek json, eksikse boş bırak}
|
29 |
✅ Desteklenen intent'ler:
|
30 |
-
- doviz-kuru-intent → parametre:
|
31 |
-
- yol-durumu-intent → parametreler:
|
32 |
-
- hava-durumu-intent → parametre:
|
33 |
❗ Kullanıcıya hitap ederken formal bir dil kullanınız, sadece bu formatlı blokları döndürünüz.
|
34 |
"""
|
35 |
|
@@ -40,7 +39,7 @@ class ChatRequest(BaseModel):
|
|
40 |
def load_model():
|
41 |
global model, tokenizer, pipe
|
42 |
|
43 |
-
#
|
44 |
os.environ["HF_HOME"] = "/app/.cache"
|
45 |
os.environ["HF_DATASETS_CACHE"] = "/app/.cache"
|
46 |
os.environ["HF_HUB_CACHE"] = "/app/.cache"
|
@@ -89,4 +88,4 @@ def chat(req: ChatRequest):
|
|
89 |
|
90 |
@app.get("/")
|
91 |
def health():
|
92 |
-
return {"status": "ok"}
|
|
|
15 |
timestamp = datetime.now().strftime("%H:%M:%S")
|
16 |
print(f"[{timestamp}] {message}", flush=True)
|
17 |
|
18 |
+
# === System prompt (intent yapısı)
|
19 |
SYSTEM_PROMPT = """
|
20 |
Siz bir görev tabanlı asistan botsunuz. Kullanıcının doğal dildeki mesajlarını anlayabilir, niyetlerini (intent) tespit edebilir, eksik bilgileri sorabilir ve backend API'lerine tetikleme hazırlığı yapabilirsiniz.
|
21 |
❗ Cevaplarınızda mutlaka aşağıdaki formatlı blokları döndürmelisiniz ve bunların dışında hiçbir metin, açıklama veya selamlama eklememelisiniz.
|
|
|
22 |
✅ Format:
|
23 |
+
#ANSWER: <cevap metni veya NONE>
|
24 |
#INTENT: <intent_adı> (veya NONE)
|
25 |
#PARAMS: {parametre_adı: değer, ...}
|
26 |
#MISSING: [eksik_parametre_adı, ...]
|
27 |
#ACTION_JSON: {api için gönderilecek json, eksikse boş bırak}
|
28 |
✅ Desteklenen intent'ler:
|
29 |
+
- doviz-kuru-intent → parametre: currency (dolar, euro, TL)
|
30 |
+
- yol-durumu-intent → parametreler: from_location, to_location (Ankara, İstanbul, İzmir)
|
31 |
+
- hava-durumu-intent → parametre: city (Ankara, İstanbul, İzmir)
|
32 |
❗ Kullanıcıya hitap ederken formal bir dil kullanınız, sadece bu formatlı blokları döndürünüz.
|
33 |
"""
|
34 |
|
|
|
39 |
def load_model():
|
40 |
global model, tokenizer, pipe
|
41 |
|
42 |
+
# Ortam değişkenleri
|
43 |
os.environ["HF_HOME"] = "/app/.cache"
|
44 |
os.environ["HF_DATASETS_CACHE"] = "/app/.cache"
|
45 |
os.environ["HF_HUB_CACHE"] = "/app/.cache"
|
|
|
88 |
|
89 |
@app.get("/")
|
90 |
def health():
|
91 |
+
return {"status": "ok"}
|