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"}
|