🚀 מדריך מפורט: פריסה ב-Hugging Face Spaces
מדריך זה ילווה אותך צעד אחר צעד בהקמת הפרויקט ב-Hugging Face Spaces.
📋 תוכן עניינים
- דרישות מקדימות
- שלב 1: יצירת Space חדש
- שלב 2: הכנת הפרויקט
- שלב 3: העלאת הקוד
- שלב 4: הגדרת API Keys
- שלב 5: העלאת קובץ הנתונים
- שלב 6: בדיקה ופתרון בעיות
- שלב 7: עדכונים עתידיים
דרישות מקדימות
לפני שנתחיל, ודא שיש לך:
- ✅ חשבון ב-Hugging Face - הירשם כאן
- ✅ API Key מ-Google Gemini - קבל כאן
- או API Key מ-OpenAI - קבל כאן
- ✅ קובץ הנתונים -
0_preprocessing/feedback_transformed_2.csv - ✅ Git מותקן במחשב שלך
שלב 1: יצירת Space חדש
1.1 כניסה ל-Hugging Face Spaces
- היכנס ל-Hugging Face Spaces
- לחץ על הכפתור "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
- פתח את ה-Space שלך ב-Hugging Face
- לחץ על הכפתור "Files and versions" (או "Files")
- תמצא את ה-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:
- פתח את ה-Space ב-Hugging Face
- לחץ על "Files and versions" → "Add file" → "Upload files"
- העלה את הקבצים הבאים (גרור ושחרר):
app.pyDockerfilerequirements.txtREADME.md- כל התיקייה
2_backend_llm/(עם כל התוכן) - כל התיקייה
1_frontend/(עם כל התוכן)
⚠️ חשוב: העלה את כל הקבצים והתיקיות, אחרת האפליקציה לא תעבוד!
שלב 4: הגדרת API Keys
⚠️ קריטי: ללא API Key, האפליקציה לא תעבוד!
4.1 יצירת Token ב-Hugging Face
- לך ל-Hugging Face Settings → Tokens
- לחץ על "New token"
- תן שם ל-Token (למשל: "HF Spaces API Key")
- בחר "Read" permissions (זה מספיק)
- לחץ על "Generate token"
- העתק את ה-Token - לא תוכל לראות אותו שוב!
4.2 הוספת API Keys כ-Secrets
- פתח את ה-Space שלך ב-Hugging Face
- לך ל-"Settings" (בתפריט העליון)
- לחץ על "Repository secrets" (בתפריט הצד)
- לחץ על "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:
- לך ל-Google AI Studio
- לחץ על "Get API Key"
- בחר או צור פרויקט
- העתק את ה-API Key
OpenAI:
- לך ל-OpenAI Platform
- לחץ על "Create new secret key"
- תן שם ל-Key
- העתק את ה-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
- פתח את ה-Space ב-Hugging Face
- לחץ על "Files and versions" → "Add file" → "Upload files"
- צור תיקייה
0_preprocessing/(אם היא לא קיימת) - העלה את
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 בדיקת הבנייה
- פתח את ה-Space שלך ב-Hugging Face
- לחץ על הטאב "Logs" (בתפריט העליון)
- תצפה בלוגים - Hugging Face בונה את ה-Space אוטומטית
מה לחפש:
- ✅
Building...- הבנייה התחילה - ✅
Successfully built- הבנייה הצליחה - ✅
SQL service initialized successfully- השירות עלה בהצלחה - ❌ שגיאות - ראה פתרון בעיות למטה
6.2 בדיקת האפליקציה
לאחר שהבנייה הסתיימה:
- לחץ על הטאב "App" (בתפריט העליון)
- האפליקציה אמורה להיפתח
- נסה לשאול שאלה, למשל: "כמה משתמשים כתבו תודה?"
6.3 פתרון בעיות
❌ שגיאה: "No feedback data available"
פתרון:
- ודא ש-
0_preprocessing/feedback_transformed_2.csvקיים ב-Space - בדוק את ה-Logs - שם תראה את הנתיב המדויק שהאפליקציה מחפשת
- ודא שהקובץ נמצא בנתיב הנכון:
0_preprocessing/feedback_transformed_2.csv
❌ שגיאה: "API Key not found"
פתרון:
- לך ל-"Settings" → "Repository secrets"
- ודא ש-
GEMINI_API_KEYאוOPENAI_API_KEYמוגדרים - ודא שהשמות מדויקים (case-sensitive!)
- נסה למחוק ולהוסיף מחדש את ה-Secret
❌ שגיאה: "Port 7860 already in use"
פתרון:
- זה לא אמור לקרות ב-HF Spaces
- אם זה קורה, בדוק את ה-Logs לפרטים נוספים
❌ שגיאה: "Module not found"
פתרון:
- ודא ש-
requirements.txtמעודכן - בדוק את ה-Logs - שם תראה איזה מודול חסר
- הוסף את המודול החסר ל-
requirements.txtודחוף מחדש
❌ Space לא עולה / קורס
פתרון:
- בדוק את ה-Logs - שם תראה את השגיאה המדויקת
- ודא ש-
app.pyקיים בשורש הפרויקט - ודא ש-
Dockerfileקיים - ודא ש-
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:
- לך ל-"Settings" → "Repository secrets"
- לחץ על ה-Secret שברצונך לעדכן
- לחץ על "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
📚 משאבים נוספים
- Hugging Face Spaces Documentation
- Docker Spaces Guide
- Environment Variables in Spaces
- Git LFS Documentation
💬 תמיכה
אם נתקלת בבעיות:
- בדוק את ה-Logs ב-Hugging Face Spaces
- בדוק את פתרון בעיות למעלה
- פתח Issue ב-GitHub repository
בהצלחה! 🚀