feedback-analysis-agent / HUGGINGFACE_SPACES_GUIDE.md
galbendavids's picture
Add Hugging Face Spaces deployment files and configuration
78e2426

🚀 מדריך מפורט: פריסה ב-Hugging Face Spaces

מדריך זה ילווה אותך צעד אחר צעד בהקמת הפרויקט ב-Hugging Face Spaces.


📋 תוכן עניינים

  1. דרישות מקדימות
  2. שלב 1: יצירת Space חדש
  3. שלב 2: הכנת הפרויקט
  4. שלב 3: העלאת הקוד
  5. שלב 4: הגדרת API Keys
  6. שלב 5: העלאת קובץ הנתונים
  7. שלב 6: בדיקה ופתרון בעיות
  8. שלב 7: עדכונים עתידיים

דרישות מקדימות

לפני שנתחיל, ודא שיש לך:

  • חשבון ב-Hugging Face - הירשם כאן
  • API Key מ-Google Gemini - קבל כאן
  • קובץ הנתונים - 0_preprocessing/feedback_transformed_2.csv
  • Git מותקן במחשב שלך

שלב 1: יצירת Space חדש

1.1 כניסה ל-Hugging Face Spaces

  1. היכנס ל-Hugging Face Spaces
  2. לחץ על הכפתור "Create new Space" (או "New Space")

1.2 הגדרת ה-Space

מלא את הפרטים הבאים:

  • Space name: feedback-analysis-agent (או שם אחר לבחירתך)
    • ⚠️ חשוב: השם חייב להיות באנגלית, ללא רווחים, עם מקפים בלבד
  • SDK: בחר "Docker"
    • זה נדרש כי אנחנו משתמשים ב-FastAPI
  • Visibility: בחר Public (ציבורי) או Private (פרטי)
    • אם יש לך נתונים רגישים, בחר Private

1.3 יצירת ה-Space

לחץ על "Create Space"

🎉 מזל טוב! יצרת Space חדש. עכשיו תועבר לדף ה-Space שלך.


שלב 2: הכנת הפרויקט

2.1 בדיקת הקבצים הנדרשים

ודא שיש לך את הקבצים הבאים בפרויקט:

📁 Feedback_Analysis_RAG_Agent_runpod/
├── 📄 app.py                    ← נקודת כניסה ל-HF Spaces (חדש!)
├── 📄 Dockerfile                ← קובץ Docker
├── 📄 requirements.txt          ← תלויות Python
├── 📄 README.md                 ← תיעוד עם metadata
├── 📁 2_backend_llm/            ← קוד ה-backend
│   ├── 📁 app/
│   │   ├── api.py
│   │   ├── config.py
│   │   ├── data_loader.py
│   │   └── sql_service.py
│   └── app.py
├── 📁 1_frontend/               ← קוד ה-frontend
│   ├── index.html
│   └── app.js
└── 📁 0_preprocessing/
    └── feedback_transformed_2.csv  ← קובץ הנתונים

2.2 בדיקת Git

ודא שהפרויקט שלך הוא Git repository:

cd /path/to/Feedback_Analysis_RAG_Agent_runpod
git status

אם זה לא Git repository, הפעל:

git init
git add .
git commit -m "Initial commit for HF Spaces deployment"

שלב 3: העלאת הקוד

יש לך שתי אפשרויות להעלות את הקוד:

אפשרות א': דרך Git (מומלץ) ⭐

זו הדרך המומלצת כי היא מאפשרת עדכונים קלים בעתיד.

3.1 קבלת ה-URL של ה-Space

  1. פתח את ה-Space שלך ב-Hugging Face
  2. לחץ על הכפתור "Files and versions" (או "Files")
  3. תמצא את ה-URL של ה-Git repository בחלק העליון
    • זה ייראה כך: https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME

3.2 הוספת Remote

פתח טרמינל בתיקיית הפרויקט והפעל:

# החלף YOUR_USERNAME ו-YOUR_SPACE_NAME בשם האמיתי שלך
git remote add huggingface https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME

דוגמה:

git remote add huggingface https://huggingface.co/spaces/galbendavids/feedback-analysis-agent

3.3 דחיפת הקוד

# ודא שאתה על branch main
git checkout main

# דחוף את הקוד ל-Hugging Face
git push huggingface main

הערה: בפעם הראשונה, Hugging Face יבקש ממך שם משתמש וסיסמה:

  • Username: שם המשתמש שלך ב-Hugging Face
  • Password: Token אישי (לא הסיסמה!)
    • קבל Token מ-כאן
    • בחר "Write" permissions

אפשרות ב': דרך ה-Web UI

אם אתה מעדיף לא להשתמש ב-Git:

  1. פתח את ה-Space ב-Hugging Face
  2. לחץ על "Files and versions""Add file""Upload files"
  3. העלה את הקבצים הבאים (גרור ושחרר):
    • app.py
    • Dockerfile
    • requirements.txt
    • README.md
    • כל התיקייה 2_backend_llm/ (עם כל התוכן)
    • כל התיקייה 1_frontend/ (עם כל התוכן)

⚠️ חשוב: העלה את כל הקבצים והתיקיות, אחרת האפליקציה לא תעבוד!


שלב 4: הגדרת API Keys

⚠️ קריטי: ללא API Key, האפליקציה לא תעבוד!

4.1 יצירת Token ב-Hugging Face

  1. לך ל-Hugging Face Settings → Tokens
  2. לחץ על "New token"
  3. תן שם ל-Token (למשל: "HF Spaces API Key")
  4. בחר "Read" permissions (זה מספיק)
  5. לחץ על "Generate token"
  6. העתק את ה-Token - לא תוכל לראות אותו שוב!

4.2 הוספת API Keys כ-Secrets

  1. פתח את ה-Space שלך ב-Hugging Face
  2. לך ל-"Settings" (בתפריט העליון)
  3. לחץ על "Repository secrets" (בתפריט הצד)
  4. לחץ על "New secret"

הוסף את ה-Secrets הבאים:

Secret 1: GEMINI_API_KEY

  • Name: GEMINI_API_KEY
  • Value: ה-API Key שלך מ-Google Gemini
  • לחץ על "Add secret"

Secret 2: OPENAI_API_KEY (אופציונלי - רק אם אתה משתמש ב-OpenAI)

  • Name: OPENAI_API_KEY
  • Value: ה-API Key שלך מ-OpenAI
  • לחץ על "Add secret"

⚠️ חשוב: לפחות אחד מה-API Keys חייב להיות מוגדר!

4.3 איך לקבל API Keys?

Google Gemini:

  1. לך ל-Google AI Studio
  2. לחץ על "Get API Key"
  3. בחר או צור פרויקט
  4. העתק את ה-API Key

OpenAI:

  1. לך ל-OpenAI Platform
  2. לחץ על "Create new secret key"
  3. תן שם ל-Key
  4. העתק את ה-API Key

שלב 5: העלאת קובץ הנתונים

5.1 בדיקת קובץ הנתונים

ודא שקובץ הנתונים קיים:

  • 0_preprocessing/feedback_transformed_2.csv

5.2 העלאת הקובץ

יש לך שתי אפשרויות:

אפשרות א': דרך Git (אם הקובץ קטן מ-10MB)

# ודא שהקובץ קיים
ls 0_preprocessing/feedback_transformed_2.csv

# הוסף ל-Git (אם הוא לא ב-.gitignore)
git add 0_preprocessing/feedback_transformed_2.csv
git commit -m "Add feedback data file"
git push huggingface main

אפשרות ב': דרך ה-Web UI

  1. פתח את ה-Space ב-Hugging Face
  2. לחץ על "Files and versions""Add file""Upload files"
  3. צור תיקייה 0_preprocessing/ (אם היא לא קיימת)
  4. העלה את feedback_transformed_2.csv לתיקייה 0_preprocessing/

⚠️ הערה: אם הקובץ גדול מ-10MB, ייתכן שתצטרך להשתמש ב-Git LFS:

git lfs install
git lfs track "*.csv"
git add .gitattributes
git add 0_preprocessing/feedback_transformed_2.csv
git commit -m "Add feedback data with LFS"
git push huggingface main

שלב 6: בדיקה ופתרון בעיות

6.1 בדיקת הבנייה

  1. פתח את ה-Space שלך ב-Hugging Face
  2. לחץ על הטאב "Logs" (בתפריט העליון)
  3. תצפה בלוגים - Hugging Face בונה את ה-Space אוטומטית

מה לחפש:

  • Building... - הבנייה התחילה
  • Successfully built - הבנייה הצליחה
  • SQL service initialized successfully - השירות עלה בהצלחה
  • ❌ שגיאות - ראה פתרון בעיות למטה

6.2 בדיקת האפליקציה

לאחר שהבנייה הסתיימה:

  1. לחץ על הטאב "App" (בתפריט העליון)
  2. האפליקציה אמורה להיפתח
  3. נסה לשאול שאלה, למשל: "כמה משתמשים כתבו תודה?"

6.3 פתרון בעיות

❌ שגיאה: "No feedback data available"

פתרון:

  1. ודא ש-0_preprocessing/feedback_transformed_2.csv קיים ב-Space
  2. בדוק את ה-Logs - שם תראה את הנתיב המדויק שהאפליקציה מחפשת
  3. ודא שהקובץ נמצא בנתיב הנכון: 0_preprocessing/feedback_transformed_2.csv

❌ שגיאה: "API Key not found"

פתרון:

  1. לך ל-"Settings""Repository secrets"
  2. ודא ש-GEMINI_API_KEY או OPENAI_API_KEY מוגדרים
  3. ודא שהשמות מדויקים (case-sensitive!)
  4. נסה למחוק ולהוסיף מחדש את ה-Secret

❌ שגיאה: "Port 7860 already in use"

פתרון:

  • זה לא אמור לקרות ב-HF Spaces
  • אם זה קורה, בדוק את ה-Logs לפרטים נוספים

❌ שגיאה: "Module not found"

פתרון:

  1. ודא ש-requirements.txt מעודכן
  2. בדוק את ה-Logs - שם תראה איזה מודול חסר
  3. הוסף את המודול החסר ל-requirements.txt ודחוף מחדש

❌ Space לא עולה / קורס

פתרון:

  1. בדוק את ה-Logs - שם תראה את השגיאה המדויקת
  2. ודא ש-app.py קיים בשורש הפרויקט
  3. ודא ש-Dockerfile קיים
  4. ודא ש-requirements.txt מעודכן

שלב 7: עדכונים עתידיים

7.1 עדכון הקוד

כשאתה רוצה לעדכן את ה-Space:

# בצע שינויים בקוד המקומי
# ...

# הוסף את השינויים
git add .

# Commit
git commit -m "Update: תיאור השינויים"

# דחוף ל-Hugging Face
git push huggingface main

Hugging Face יבנה מחדש את ה-Space אוטומטית!

7.2 עדכון API Keys

אם אתה צריך לעדכן API Key:

  1. לך ל-"Settings""Repository secrets"
  2. לחץ על ה-Secret שברצונך לעדכן
  3. לחץ על "Edit" או "Delete" ויצור חדש

✅ סיכום - רשימת בדיקה

לפני שאתה מסיים, ודא ש:

  • Space נוצר ב-Hugging Face
  • הקוד נדחף/הועלה ל-Space
  • app.py קיים בשורש הפרויקט
  • Dockerfile קיים
  • requirements.txt מעודכן
  • API Key מוגדר ב-Repository secrets
  • קובץ הנתונים 0_preprocessing/feedback_transformed_2.csv קיים
  • הבנייה הצליחה (בודק ב-Logs)
  • האפליקציה עובדת (בודק ב-App)

🎉 מזל טוב!

הפרויקט שלך אמור לעבוד עכשיו ב-Hugging Face Spaces!

קישור ל-Space שלך: https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME


📚 משאבים נוספים


💬 תמיכה

אם נתקלת בבעיות:

  1. בדוק את ה-Logs ב-Hugging Face Spaces
  2. בדוק את פתרון בעיות למעלה
  3. פתח Issue ב-GitHub repository

בהצלחה! 🚀