# סקירת קבצים - הסבר על כל קובץ והסיבה לקיומו ## 0_preprocessing/ - עיבוד מקדים וקבצים משלימים ### קבצי נתונים - **feedback_transformed_2.csv**: הקובץ הראשי עם כל המשובים המעובדים. מכיל את כל השדות הנדרשים (ID, ServiceName, Level, Text, Year, Month, DayInMonth, DayOfWeek, Hour, DayOrNight). **סיבה**: זהו מקור הנתונים הראשי של המערכת. - **Feedback_given.csv**: קובץ נתונים מקורי (אופציונלי). **סיבה**: גיבוי/גרסה מקורית של הנתונים. - **feedback_transformed.csv**: גרסה ישנה של הנתונים (אופציונלי). **סיבה**: גיבוי/גרסה קודמת. ### קבצי תכנון ותיעוד - **ARCHITECTURE.md**: מסמך ארכיטקטורה מפורט. **סיבה**: תיעוד טכני של המערכת. - **CONTRIBUTING.md**: הנחיות לתרומה לפרויקט. **סיבה**: תיעוד עבור מפתחים. - **DEPLOYMENT_GUIDE.md**: מדריך פריסה. **סיבה**: הוראות לפריסת המערכת. - **HUGGINGFACE_DEPLOYMENT.md**: מדריך פריסה ל-HuggingFace. **סיבה**: הוראות ספציפיות לפריסה ב-HuggingFace. - **MIGRATION_TO_MAIN.md**: מדריך מיגרציה. **סיבה**: תיעוד תהליכי מיגרציה. - **GETTING_STARTED.txt**: מדריך התחלה מהיר. **סיבה**: הוראות התחלה מהירות. - **system_architecture.pdf**: תרשים ארכיטקטורה. **סיבה**: ויזואליזציה של הארכיטקטורה. - **Gal Shlomo Ben David Ohayone_e-1.pdf**: קורות חיים. **סיבה**: קורות חיים של המפתח (מופיעים בלינק ב-frontend). ### סקריפטים - **scripts/smoke_check.py**: בדיקת תקינות בסיסית. **סיבה**: בדיקות אוטומטיות. - **scripts/__init__.py**: מאפשר import של scripts. **סיבה**: Python package structure. ### בדיקות - **tests/test_analysis.py**: בדיקות יחידה. **סיבה**: בדיקות אוטומטיות של הפונקציונליות. ### אחר - **VERSION**: מספר גרסה. **סיבה**: מעקב אחר גרסאות. ## 1_frontend/ - האפליקציה והחלק הפרונטי ### קבצי Frontend - **index.html**: ממשק המשתמש הראשי. **סיבה**: מספק ממשק ווב אינטראקטיבי למשתמש. כולל שדה קלט, הצגת תשובות, היסטוריה, ואנימציות. - **app.js**: לוגיקת Frontend. **סיבה**: מטפל בכל האינטראקציות - שליחת שאלות ל-Backend, הצגת תשובות, ניהול היסטוריה, ויצירת גרפים. ## 2_backend_llm/ - הלוגיקה והארכיטקטורה ה-LLM ### נקודת כניסה - **run.py**: נקודת הכניסה להרצת השרת. **סיבה**: מפעיל את FastAPI server עם uvicorn. זה הקובץ שצריך להריץ כדי להתחיל את השרת. - **app.py**: wrapper פשוט. **סיבה**: wrapper נוסף להרצת האפליקציה (אופציונלי). ### מודולי Backend (app/) - **app/__init__.py**: מאפשר import של app כחבילה. **סיבה**: Python package structure. - **app/api.py**: FastAPI endpoints. **סיבה**: מגדיר את כל ה-API endpoints - `/query-sql`, `/history`, `/health`. זה נקודת הכניסה של ה-Backend. - **app/sql_service.py**: הליבה של המערכת. **סיבה**: מכיל את כל הלוגיקה - יצירת שאילתות SQL עם LLM, ביצוען, וסינתזת תשובות. זה הקובץ החשוב ביותר. - **app/config.py**: הגדרות מערכת. **סיבה**: מרכז את כל ההגדרות - API keys, נתיבי קבצים, שמות עמודות. - **app/data_loader.py**: טעינת נתונים מ-CSV. **סיבה**: מטפל בטעינת וניקוי הנתונים מהקובץ CSV. ## קבצים ברמה העליונה ### קבצי הגדרה - **requirements.txt**: תלויות Python. **סיבה**: מגדיר את כל החבילות הנדרשות לפרויקט. - **.env**: API keys (לא ב-git). **סיבה**: מכיל מפתחות API (Gemini/OpenAI) - לא נשמר ב-git מסיבות אבטחה. - **docker-compose.yml**: הגדרות Docker Compose. **סיבה**: מאפשר הרצה של המערכת ב-Docker. - **docker-compose.override.yml**: הגדרות Docker Compose מותאמות אישית. **סיבה**: override להגדרות Docker Compose. - **Dockerfile**: הגדרת Docker image. **סיבה**: מגדיר איך לבנות Docker image של המערכת. ### תיעוד - **README.md**: תיעוד ראשי של הפרויקט. **סיבה**: מספק סקירה כללית, הוראות התקנה, ושימוש. - **ARCHITECTURE.md**: ארכיטקטורה מפורטת מהפרונט לאחור. **סיבה**: מספק הסבר מפורט על הארכיטקטורה, זרימת הנתונים, איזה מודל קורא לאיזה מודל, ואיך נבנית התשובה. - **FILES_OVERVIEW.md**: סקירת כל הקבצים והסיבה לקיומם. **סיבה**: מספק סקירה של כל הקבצים בפרויקט והסיבה לקיומם. ### לוגים - **server.log**: לוגי שרת (אם קיים). **סיבה**: רישום פעולות השרת (אופציונלי, לא נשמר ב-git). ## קבצים שנמחקו/לא רלוונטיים - **scripts/fix_creation_date.py**: נמחק - השדה CreationDate לא קיים יותר - **app/static/**: הועבר ל-1_frontend/ - ארגון מחדש של הספריה