File size: 4,919 Bytes
59c860e |
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 208 209 210 211 212 213 214 215 216 217 |
# 🚀 Quick Start Guide for Hugging Face Spaces
## Krok 1: Przygotowanie Repozytorium
### Pliki które MUSZĄ być w repo:
```
✅ app.py
✅ requirements.txt
✅ config.py
✅ agent/ (cały folder)
✅ models/ (cały folder)
✅ database/ lub vector_store_client.py
✅ README.md (z YAML header)
✅ .env.example
✅ lancedb/ (folder z danymi - użyj Git LFS jeśli >10MB)
```
### Pliki które NIE POWINNY być w repo:
```
❌ .env (zawiera secrets!)
❌ cache/ (lokalny cache)
❌ __pycache__/
❌ *.pyc
```
## Krok 2: Konfiguracja na Hugging Face
### A. Utwórz nowy Space
1. Przejdź do https://huggingface.co/new-space
2. Wybierz:
- **SDK:** Gradio
- **Hardware:** CPU Basic (Free)
- **Visibility:** Public lub Private
### B. Dodaj Secrets (KRYTYCZNE!)
W ustawieniach Space → Settings → Repository secrets:
```
Name: OPENAI_API_KEY
Value: sk-proj-... (twój klucz)
```
Opcjonalnie:
```
SERVER_HOST=0.0.0.0
SERVER_PORT=7860
LOG_LEVEL=INFO
```
### C. Sprawdź README.md header
```yaml
---
title: JacekAI - A11y Expert
emoji: ♿
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 4.44.0
python_version: 3.10
app_file: app.py
pinned: true
short_description: Inteligentny asystent do spraw dostępności cyfrowej
---
```
## Krok 3: Upload do Hugging Face
### Opcja A: Git CLI
```bash
# Sklonuj Space
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
# Skopiuj pliki
cp -r /path/to/JacekAI/* .
# Usuń niepotrzebne
rm -rf .env cache/ __pycache__/
# Commit i push
git add .
git commit -m "Initial deploy with asyncio fixes"
git push
```
### Opcja B: Hugging Face Web UI
1. Przejdź do Files → Add file
2. Upload wszystkie pliki (oprócz .env, cache/, __pycache__/)
3. Dla dużych plików (lancedb/) użyj Git LFS
## Krok 4: Monitorowanie Startu
### Sprawdź logi w czasie rzeczywistym:
W Space kliknij **Logs** (prawy górny róg)
### ✅ Powinny pojawić się:
```
Initializing A11y Expert Agent...
Connecting to LanceDB at: ./lancedb
✅ Connected to LanceDB
✅ A11y Expert Agent is ready!
Launching Gradio app...
Running on public URL: https://...
```
### ❌ Jeśli widzisz błędy:
#### Error: "OPENAI_API_KEY is required"
**Rozwiązanie:** Dodaj klucz w Secrets (Krok 2B)
#### Error: "Table 'a11y_expert' doesn't exist"
**Rozwiązanie:**
- Sprawdź czy folder `lancedb/` jest w repo
- Jeśli nie ma danych, uruchom ETL script lokalnie i upload
#### Error: "RuntimeError: Event loop is closed"
**Rozwiązanie:** Upewnij się, że używasz zaktualizowanego app.py
#### Error: Module not found
**Rozwiązanie:**
- Sprawdź czy wszystkie foldery mają `__init__.py`
- Sprawdź requirements.txt
## Krok 5: Weryfikacja Działania
### Test 1: Sprawdź interfejs
- Space powinien pokazać chat interface
- Przykładowe pytania powinny być widoczne
### Test 2: Zadaj testowe pytanie
```
"Co to jest WCAG?"
```
### Test 3: Sprawdź streaming
- Odpowiedź powinna pojawiać się stopniowo (nie całe zdanie naraz)
### Test 4: Test języka
```
"What is ARIA?" → Odpowiedź po angielsku
"Co to jest ARIA?" → Odpowiedź po polsku
```
## Krok 6: Troubleshooting
### Space się restartuje co kilka minut
**Przyczyna:** Timeout na Free tier (10 minut bezczynności)
**Rozwiązanie:** Upgrade do GPU przestrzeni lub akceptuj restart
### Space nie startuje (Build failed)
1. Sprawdź logi budowania
2. Zweryfikuj requirements.txt (wszystkie biblioteki dostępne na PyPI?)
3. Sprawdź Python version w README.md (3.10 recommended)
### Wolne odpowiedzi
1. LanceDB może być duża - rozważ optymalizację
2. OpenAI API może mieć rate limiting
3. Free tier HF ma ograniczenia CPU
### Cache nie działa
- diskcache będzie działać, ale będzie resetowany przy restarcie Space
- To normalne na Hugging Face Spaces
## Krok 7: Optymalizacja (opcjonalne)
### A. Dodaj health check
```python
# W app.py
@demo.additional_routes
def health():
return {"status": "ok"}
```
### B. Zmniejsz rozmiar bazy danych
```bash
# Lokalnie
python compact_database.py
# Potem upload zmniejszonej bazy
```
### C. Użyj GPU (jeśli masz dostęp)
W README.md header:
```yaml
hardware: a10g-small
```
## ✅ Checklist Finalna
Przed ogłoszeniem Space jako "Production Ready":
- [ ] Aplikacja startuje bez błędów
- [ ] Agent odpowiada na pytania
- [ ] Streaming działa
- [ ] Język jest wykrywany prawidłowo
- [ ] Przykładowe pytania działają
- [ ] Brak ostrzeżeń w logach
- [ ] OPENAI_API_KEY jest w Secrets (NIE w kodzie!)
- [ ] README.md jest czytelny i informacyjny
- [ ] Space ma odpowiedni tytuł i opis
## 🎉 Gotowe!
Twój Space jest teraz live na:
```
https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
```
---
## 📞 Pomoc
- **Problemy z asyncio?** → Zobacz `FIXES_SUMMARY.md`
- **Problemy z deployment?** → Zobacz `README_DEPLOYMENT.md`
- **Ogólne pytania?** → Hugging Face Forum
**Powodzenia!** 🚀
|