Commit ·
12a7c9c
1
Parent(s): 048b92a
הוספת אזהרות מפורשות מאוד - CreationDate לא קיים ולא צריך להשתמש בו
Browse files- app/sql_service.py +18 -1
app/sql_service.py
CHANGED
|
@@ -257,6 +257,13 @@ class SQLFeedbackService:
|
|
| 257 |
כל שאילתה חייבת להתחיל ב-SELECT ולהשתמש ב-FROM Feedback_transformed.
|
| 258 |
אסור להשתמש בשמות אחרים!
|
| 259 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 260 |
סטטיסטיקות כלליות:
|
| 261 |
- סך הכל משובים: {len(self.df)}
|
| 262 |
- מספר שירותים ייחודיים: {self.df['ServiceName'].nunique()}
|
|
@@ -342,6 +349,13 @@ class SQLFeedbackService:
|
|
| 342 |
|
| 343 |
prompt = f"""אתה אנליסט נתונים מומחה. המשתמש שאל שאלה על משובי משתמשים.
|
| 344 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 345 |
שאלת המשתמש: {query}
|
| 346 |
|
| 347 |
מידע על הטבלה:
|
|
@@ -369,8 +383,10 @@ class SQLFeedbackService:
|
|
| 369 |
4. ServiceName הוא טקסט
|
| 370 |
5. Text הוא הטקסט החופשי של המשוב
|
| 371 |
6. ⚠️⚠️⚠️ שאילתות מבוססות זמן - קריטי:
|
|
|
|
| 372 |
- השדות שנה, חודש, יום_בשבוע, שעה, יום_לילה, יום_בחודש כבר מחושבים ומולאו בנתונים!
|
| 373 |
- תמיד השתמש ישירות בשדות המחושבים - הם כבר מוכנים לשימוש!
|
|
|
|
| 374 |
- דוגמה לשאילתה לפי שנה: SELECT שנה, COUNT(*) as count FROM Feedback_transformed GROUP BY שנה ORDER BY שנה
|
| 375 |
- דוגמה לשאילתה לפי חודש: SELECT חודש, COUNT(*) as count FROM Feedback_transformed GROUP BY חודש ORDER BY חודש
|
| 376 |
- דוגמה לשאילתה לפי יום בשבוע: SELECT יום_בשבוע, COUNT(*) as count FROM Feedback_transformed GROUP BY יום_בשבוע
|
|
@@ -381,13 +397,14 @@ class SQLFeedbackService:
|
|
| 381 |
7. שדות תאריך/זמן: יום_בחודש, יום_בשבוע, שנה, חודש, שעה, יום_לילה - כל השדות האלה כבר מחושבים ומוכנים לשימוש ישיר!
|
| 382 |
8. כל שאילתה צריכה להיות תקפה SQLite
|
| 383 |
9. השתמש בפונקציות SQL סטנדרטיות: COUNT, AVG, GROUP BY, WHERE, LIKE, etc.
|
| 384 |
-
10.
|
| 385 |
11. אם השאלה מתייחסת לטקסט, השתמש ב-LIKE או INSTR לחיפוש
|
| 386 |
12. אם השאלה מתייחסת לדירוגים, השתמש ב-Level עם תנאים מתאימים
|
| 387 |
13. אם השאלה מתייחסת לשירותים, השתמש ב-ServiceName
|
| 388 |
14. דוגמה לשאילתה נכונה: SELECT COUNT(*) FROM Feedback_transformed WHERE Level >= 4
|
| 389 |
15. ⚠️⚠️⚠️ זכור: כל שאילתה חייבת להתחיל ב-SELECT ולהשתמש ב-FROM Feedback_transformed (עם אות גדולה F ו-underscore)!
|
| 390 |
16. ⚠️⚠️⚠️ לפני שאתה שולח את השאילתה, ודא שהיא מכילה: FROM Feedback_transformed (עם אות גדולה F!)
|
|
|
|
| 391 |
|
| 392 |
פורמט התשובה - JSON בלבד:
|
| 393 |
{{
|
|
|
|
| 257 |
כל שאילתה חייבת להתחיל ב-SELECT ולהשתמש ב-FROM Feedback_transformed.
|
| 258 |
אסור להשתמש בשמות אחרים!
|
| 259 |
|
| 260 |
+
🚫🚫🚫 אזהרה חשובה מאוד:
|
| 261 |
+
- השדה CreationDate לא קיים בטבלה! הוא נמחק!
|
| 262 |
+
- אסור להשתמש ב-CreationDate בשום שאילתה!
|
| 263 |
+
- אסור להשתמש ב-strftime() או DATE() על CreationDate - השדה לא קיים!
|
| 264 |
+
- כל המידע על תאריכים נמצא בשדות המחושבים: שנה, חודש, יום_בשבוע, שעה, יום_לילה, יום_בחודש
|
| 265 |
+
- אם אתה רואה CreationDate ב-schema - זה שגיאה! השתמש רק בשדות המחושבים!
|
| 266 |
+
|
| 267 |
סטטיסטיקות כלליות:
|
| 268 |
- סך הכל משובים: {len(self.df)}
|
| 269 |
- מספר שירותים ייחודיים: {self.df['ServiceName'].nunique()}
|
|
|
|
| 349 |
|
| 350 |
prompt = f"""אתה אנליסט נתונים מומחה. המשתמש שאל שאלה על משובי משתמשים.
|
| 351 |
|
| 352 |
+
🚫🚫🚫 אזהרה קריטית - קרא היטב:
|
| 353 |
+
- השדה CreationDate לא קיים בטבלה! הוא נמחק לחלוטין!
|
| 354 |
+
- אסור להשתמש ב-CreationDate בשום שאילתה!
|
| 355 |
+
- אסור להשתמש ב-strftime() או DATE() על CreationDate - השדה לא קיים!
|
| 356 |
+
- כל המידע על תאריכים נמצא בשדות המחושבים: שנה, חודש, יום_בשבוע, שעה, יום_לילה, יום_בחודש
|
| 357 |
+
- אם השאלה מתייחסת לתאריכים/זמן - השתמש רק בשדות המחושבים האלה!
|
| 358 |
+
|
| 359 |
שאלת המשתמש: {query}
|
| 360 |
|
| 361 |
מידע על הטבלה:
|
|
|
|
| 383 |
4. ServiceName הוא טקסט
|
| 384 |
5. Text הוא הטקסט החופשי של המשוב
|
| 385 |
6. ⚠️⚠️⚠️ שאילתות מבוססות זמן - קריטי:
|
| 386 |
+
- השדה CreationDate לא קיים! הוא נמחק! אל תשתמש בו!
|
| 387 |
- השדות שנה, חודש, יום_בשבוע, שעה, יום_לילה, יום_בחודש כבר מחושבים ומולאו בנתונים!
|
| 388 |
- תמיד השתמש ישירות בשדות המחושבים - הם כבר מוכנים לשימוש!
|
| 389 |
+
- אם השאלה מתייחסת לתאריכים/זמן - השתמש רק בשדות: שנה, חודש, יום_בשבוע, שעה, יום_לילה, יום_בחודש
|
| 390 |
- דוגמה לשאילתה לפי שנה: SELECT שנה, COUNT(*) as count FROM Feedback_transformed GROUP BY שנה ORDER BY שנה
|
| 391 |
- דוגמה לשאילתה לפי חודש: SELECT חודש, COUNT(*) as count FROM Feedback_transformed GROUP BY חודש ORDER BY חודש
|
| 392 |
- דוגמה לשאילתה לפי יום בשבוע: SELECT יום_בשבוע, COUNT(*) as count FROM Feedback_transformed GROUP BY יום_בשבוע
|
|
|
|
| 397 |
7. שדות תאריך/זמן: יום_בחודש, יום_בשבוע, שנה, חודש, שעה, יום_לילה - כל השדות האלה כבר מחושבים ומוכנים לשימוש ישיר!
|
| 398 |
8. כל שאילתה צריכה להיות תקפה SQLite
|
| 399 |
9. השתמש בפונקציות SQL סטנדרטיות: COUNT, AVG, GROUP BY, WHERE, LIKE, etc.
|
| 400 |
+
10. 🚫🚫🚫 אל תשתמש ב-CreationDate, DATE(), או strftime() - השדה CreationDate לא קיים! השדות המחושבים כבר מוכנים!
|
| 401 |
11. אם השאלה מתייחסת לטקסט, השתמש ב-LIKE או INSTR לחיפוש
|
| 402 |
12. אם השאלה מתייחסת לדירוגים, השתמש ב-Level עם תנאים מתאימים
|
| 403 |
13. אם השאלה מתייחסת לשירותים, השתמש ב-ServiceName
|
| 404 |
14. דוגמה לשאילתה נכונה: SELECT COUNT(*) FROM Feedback_transformed WHERE Level >= 4
|
| 405 |
15. ⚠️⚠️⚠️ זכור: כל שאילתה חייבת להתחיל ב-SELECT ולהשתמש ב-FROM Feedback_transformed (עם אות גדולה F ו-underscore)!
|
| 406 |
16. ⚠️⚠️⚠️ לפני שאתה שולח את השאילתה, ודא שהיא מכילה: FROM Feedback_transformed (עם אות גדולה F!)
|
| 407 |
+
17. 🚫🚫🚫 לפני שאתה שולח את השאילתה, ודא שאין שימוש ב-CreationDate, strftime(), או DATE() - השדה CreationDate לא קיים!
|
| 408 |
|
| 409 |
פורמט התשובה - JSON בלבד:
|
| 410 |
{{
|