File size: 7,101 Bytes
395afb7 00553ad 395afb7 9c30c74 1c23b7c 9c30c74 bf7bcb9 9c30c74 bf7bcb9 9c30c74 bf7bcb9 9c30c74 bf7bcb9 9c30c74 4010059 9c30c74 4010059 9c30c74 9a7cb3e 4010059 9a7cb3e e405ff6 9c30c74 4010059 9c30c74 4010059 9c30c74 4010059 9c30c74 1c23b7c 4010059 9c30c74 4010059 9c30c74 1c23b7c 4010059 9c30c74 4010059 1c23b7c 9c30c74 4010059 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 f073efc 9c30c74 f073efc 1c23b7c 9c30c74 1c23b7c 9c30c74 1da3dc8 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 1c23b7c 9c30c74 395afb7 f073efc 1c23b7c 9c30c74 1c23b7c 9c30c74 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | ---
title: Feedback Analysis Agent
emoji: 📊
colorFrom: blue
colorTo: blue
sdk: docker
pinned: false
license: mit
---
# Feedback Analysis Agent
מערכת ניתוח משובי משתמשים מבוססת SQL ו-LLM.
## סקירה כללית
המערכת מאפשרת לשאול שאלות בשפה טבעית על משובי משתמשים ולקבל תשובות מפורטות ומבוססות נתונים. המערכת משתמשת בגישה מבוססת SQL - LLM יוצר שאילתות SQL, הן מבוצעות על הנתונים, ו-LLM נוסף יוצר תשובה מפורטת מהתוצאות.
## תכונות עיקריות
- ✅ **שאילתות בשפה טבעית** - שאל שאלות בעברית על המשובים
- ✅ **ניתוח אוטומטי** - המערכת יוצרת שאילתות SQL אוטומטית
- ✅ **בדיקת איכות אוטומטית** - תשובות נבדקות אוטומטית ומשופרות אם נדרש
- ✅ **ויזואליזציות** - גרפים אוטומטיים של התוצאות
- ✅ **ממשק משתמש מודרני** - UI צבעוני ואינטואיטיבי
## התקנה והרצה
### דרישות מקדימות
- Python 3.10+
- קובץ `feedback_transformed_2.csv` עם העמודות: ID, ServiceName, Level, Text, ReferenceNumber, RequestID, ProcessID, Year, Month, DayInMonth, DayOfWeek, Hour, DayOrNight
המערכת משתמשת ב-`feedback_transformed_2.csv` כברירת מחדל.
**הערה**: אם יש לך תאריכים אמיתיים, עדכן את `CSV_PATH` ב-`.env` או העלה את הקובץ עם התאריכים הנכונים.
### התקנה
```bash
# יצירת סביבה וירטואלית
python -m venv .venv
source .venv/bin/activate # ב-Windows: .venv\Scripts\activate
# התקנת תלויות
pip install -r requirements.txt
```
### הגדרת API Keys
צור קובץ `.env` בשורש הפרויקט:
```env
GEMINI_API_KEY=your_gemini_key_here
# או
OPENAI_API_KEY=your_openai_key_here
```
**הערה**: לפחות אחד מה-API keys חייב להיות מוגדר.
### הרצה
```bash
python run.py
```
השרת יעלה על `http://127.0.0.1:8000`
פתח את הדפדפן וגש ל-`http://127.0.0.1:8000`
## ארכיטקטורה
המערכת מבוססת על **4 שלבים**:
1. **ניתוח שאילתה** - LLM מנתח את שאלת המשתמש
2. **יצירת שאילתות SQL** - LLM יוצר 1-5 שאילתות SQL רלוונטיות
3. **ביצוע שאילתות** - שאילתות SQL מבוצעות על הנתונים (SQLite in-memory)
4. **סינתזה ותשובה** - LLM יוצר תשובה מפורטת מהתוצאות, כולל בדיקת איכות אוטומטית
לקריאה מפורטת יותר, ראה [ARCHITECTURE.md](ARCHITECTURE.md)
## מבנה הפרויקט
```
.
├── 0_preprocessing/ # עיבוד מקדים וקבצים משלימים
│ ├── scripts/ # סקריפטים לעיבוד נתונים
│ ├── tests/ # בדיקות
│ ├── feedback_transformed_2.csv # נתוני המשובים המעובדים (לא ב-git)
│ └── *.md, *.pdf # מסמכי תכנון ותיעוד
├── 1_frontend/ # האפליקציה והחלק הפרונטי
│ ├── index.html # ממשק משתמש
│ └── app.js # לוגיקת frontend
├── 2_backend_llm/ # הלוגיקה והארכיטקטורה ה-LLM
│ ├── app/
│ │ ├── api.py # FastAPI endpoints
│ │ ├── sql_service.py # לוגיקת SQL ו-LLM
│ │ ├── config.py # הגדרות
│ │ └── data_loader.py # טעינת נתונים מ-CSV
│ ├── run.py # נקודת כניסה
│ └── app.py # wrapper
├── .env # API keys (לא ב-git)
└── requirements.txt # תלויות Python
```
## שימוש
### דרך הממשק
1. פתח `http://127.0.0.1:8000` בדפדפן
2. הזן שאלה בשדה הטקסט
3. לחץ על "🔍 שאל"
4. צפה בתשובה, שאילתות SQL, תוצאות, וגרפים
### דרך API
```bash
curl -X POST http://127.0.0.1:8000/query-sql \
-H "Content-Type: application/json" \
-d '{"query": "כמה משתמשים כתבו תודה?", "top_k": 5}'
```
## דוגמאות שאלות
- "כמה משתמשים כתבו תודה?"
- "מה הנושא המרכזי של המשובים שקיבלו ציון נמוך מ-3?"
- "חלק את המשובים ל-5 נושאים מרכזיים"
- "כמה משובים התקבלו בחודש האחרון?"
- "איך המשתמשים מרגישים כלפי השירות?"
## Quality Assurance
המערכת כוללת **בדיקת איכות אוטומטית**:
- כל תשובה מקבלת ציון 0-100
- אם הציון < 80, המערכת מנסה לשפר את התשובה אוטומטית
- הקריטריונים: רלוונטיות, דיוק, מפורטות, בהירות, תובנות עסקיות
## Visualizations
המערכת יוצרת **גרפים אוטומטיים**:
- Bar Charts - להשוואות
- Line Charts - למגמות לאורך זמן
- Scatter Plots - לקשרים בין משתנים
- Histograms - להתפלגות נתונים
## Deployment
### Docker
```bash
docker build -t feedback-analysis .
docker run -p 8000:8000 feedback-analysis
```
### Runpod
ראה [DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md) לפרטים.
## שינויים והתאמות
### שינוי מודל LLM
ערוך ב-`app/sql_service.py`:
```python
model = genai.GenerativeModel("gemini-2.0-flash") # שנה כאן
```
### שינוי סף איכות
ערוך ב-`app/sql_service.py`:
```python
if score < 80: # שנה כאן (0-100)
```
### הוספת עמודות חדשות
ערוך ב-`app/sql_service.py` → `_get_schema_info()`:
```python
schema_info = f"""
טבלת Feedback מכילה את השדות הבאים:
- NewColumn: ... # הוסף כאן
"""
```
## Troubleshooting
### שגיאת "No feedback data available"
- ודא שקובץ `Feedback.csv` קיים
- ודא שהעמודות הנדרשות קיימות: ID, ServiceName, Level, Text
### שגיאת API Key
- ודא שקובץ `.env` קיים עם `GEMINI_API_KEY` או `OPENAI_API_KEY`
### תשובות לא איכותיות
- בדוק את הלוגים - המערכת מדפיסה ציוני איכות
- נסה לשנות את ה-prompt ב-`_synthesize_answer()`
## קישורים
- **GitHub**: [https://github.com/galbendavids/Feedback_Analysis_RAG_Agent_runpod](https://github.com/galbendavids/Feedback_Analysis_RAG_Agent_runpod)
- **קורות חיים**: [https://github.com/galbendavids/Feedback_Analysis_RAG_Agent_runpod/blob/main/0_preprocessing/Gal%20Shlomo%20Ben%20David%20Ohayone_e-1.pdf](https://github.com/galbendavids/Feedback_Analysis_RAG_Agent_runpod/blob/main/0_preprocessing/Gal%20Shlomo%20Ben%20David%20Ohayone_e-1.pdf)
## רישיון
[לעדכן]
|