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 ื—ื“ืฉ](#ืฉืœื‘-1-ื™ืฆื™ืจืช-space-ื—ื“ืฉ)
3. [ืฉืœื‘ 2: ื”ื›ื ืช ื”ืคืจื•ื™ืงื˜](#ืฉืœื‘-2-ื”ื›ื ืช-ื”ืคืจื•ื™ืงื˜)
4. [ืฉืœื‘ 3: ื”ืขืœืืช ื”ืงื•ื“](#ืฉืœื‘-3-ื”ืขืœืืช-ื”ืงื•ื“)
5. [ืฉืœื‘ 4: ื”ื’ื“ืจืช API Keys](#ืฉืœื‘-4-ื”ื’ื“ืจืช-api-keys)
6. [ืฉืœื‘ 5: ื”ืขืœืืช ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื](#ืฉืœื‘-5-ื”ืขืœืืช-ืงื•ื‘ืฅ-ื”ื ืชื•ื ื™ื)
7. [ืฉืœื‘ 6: ื‘ื“ื™ืงื” ื•ืคืชืจื•ืŸ ื‘ืขื™ื•ืช](#ืฉืœื‘-6-ื‘ื“ื™ืงื”-ื•ืคืชืจื•ืŸ-ื‘ืขื™ื•ืช)
8. [ืฉืœื‘ 7: ืขื“ื›ื•ื ื™ื ืขืชื™ื“ื™ื™ื](#ืฉืœื‘-7-ืขื“ื›ื•ื ื™ื-ืขืชื™ื“ื™ื™ื)
---
## ื“ืจื™ืฉื•ืช ืžืงื“ื™ืžื•ืช
ืœืคื ื™ ืฉื ืชื—ื™ืœ, ื•ื“ื ืฉื™ืฉ ืœืš:
- โœ… **ื—ืฉื‘ื•ืŸ ื‘-Hugging Face** - [ื”ื™ืจืฉื ื›ืืŸ](https://huggingface.co/join)
- โœ… **API Key ืž-Google Gemini** - [ืงื‘ืœ ื›ืืŸ](https://makersuite.google.com/app/apikey)
- ืื• **API Key ืž-OpenAI** - [ืงื‘ืœ ื›ืืŸ](https://platform.openai.com/api-keys)
- โœ… **ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื** - `0_preprocessing/feedback_transformed_2.csv`
- โœ… **Git ืžื•ืชืงืŸ** ื‘ืžื—ืฉื‘ ืฉืœืš
---
## ืฉืœื‘ 1: ื™ืฆื™ืจืช Space ื—ื“ืฉ
### 1.1 ื›ื ื™ืกื” ืœ-Hugging Face Spaces
1. ื”ื™ื›ื ืก ืœ-[Hugging Face Spaces](https://huggingface.co/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:
```bash
cd /path/to/Feedback_Analysis_RAG_Agent_runpod
git status
```
ืื ื–ื” ืœื Git repository, ื”ืคืขืœ:
```bash
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
ืคืชื— ื˜ืจืžื™ื ืœ ื‘ืชื™ืงื™ื™ืช ื”ืคืจื•ื™ืงื˜ ื•ื”ืคืขืœ:
```bash
# ื”ื—ืœืฃ YOUR_USERNAME ื•-YOUR_SPACE_NAME ื‘ืฉื ื”ืืžื™ืชื™ ืฉืœืš
git remote add huggingface https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
```
**ื“ื•ื’ืžื”:**
```bash
git remote add huggingface https://huggingface.co/spaces/galbendavids/feedback-analysis-agent
```
#### 3.3 ื“ื—ื™ืคืช ื”ืงื•ื“
```bash
# ื•ื“ื ืฉืืชื” ืขืœ branch main
git checkout main
# ื“ื—ื•ืฃ ืืช ื”ืงื•ื“ ืœ-Hugging Face
git push huggingface main
```
**ื”ืขืจื”**: ื‘ืคืขื ื”ืจืืฉื•ื ื”, Hugging Face ื™ื‘ืงืฉ ืžืžืš ืฉื ืžืฉืชืžืฉ ื•ืกื™ืกืžื”:
- **Username**: ืฉื ื”ืžืฉืชืžืฉ ืฉืœืš ื‘-Hugging Face
- **Password**: Token ืื™ืฉื™ (ืœื ื”ืกื™ืกืžื”!)
- ืงื‘ืœ Token ืž-[ื›ืืŸ](https://huggingface.co/settings/tokens)
- ื‘ื—ืจ **"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](https://huggingface.co/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](https://makersuite.google.com/app/apikey)
2. ืœื—ืฅ ืขืœ **"Get API Key"**
3. ื‘ื—ืจ ืื• ืฆื•ืจ ืคืจื•ื™ืงื˜
4. ื”ืขืชืง ืืช ื”-API Key
**OpenAI:**
1. ืœืš ืœ-[OpenAI Platform](https://platform.openai.com/api-keys)
2. ืœื—ืฅ ืขืœ **"Create new secret key"**
3. ืชืŸ ืฉื ืœ-Key
4. ื”ืขืชืง ืืช ื”-API Key
---
## ืฉืœื‘ 5: ื”ืขืœืืช ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื
### 5.1 ื‘ื“ื™ืงืช ืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื
ื•ื“ื ืฉืงื•ื‘ืฅ ื”ื ืชื•ื ื™ื ืงื™ื™ื:
- `0_preprocessing/feedback_transformed_2.csv`
### 5.2 ื”ืขืœืืช ื”ืงื•ื‘ืฅ
ื™ืฉ ืœืš ืฉืชื™ ืืคืฉืจื•ื™ื•ืช:
#### ืืคืฉืจื•ืช ื': ื“ืจืš Git (ืื ื”ืงื•ื‘ืฅ ืงื˜ืŸ ืž-10MB)
```bash
# ื•ื“ื ืฉื”ืงื•ื‘ืฅ ืงื™ื™ื
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:
```bash
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:
```bash
# ื‘ืฆืข ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ื”ืžืงื•ืžื™
# ...
# ื”ื•ืกืฃ ืืช ื”ืฉื™ื ื•ื™ื™ื
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`
---
## ๐Ÿ“š ืžืฉืื‘ื™ื ื ื•ืกืคื™ื
- [Hugging Face Spaces Documentation](https://huggingface.co/docs/hub/spaces)
- [Docker Spaces Guide](https://huggingface.co/docs/hub/spaces-sdks-docker)
- [Environment Variables in Spaces](https://huggingface.co/docs/hub/spaces-sdks-docker#environment-variables)
- [Git LFS Documentation](https://git-lfs.github.com/)
---
## ๐Ÿ’ฌ ืชืžื™ื›ื”
ืื ื ืชืงืœืช ื‘ื‘ืขื™ื•ืช:
1. ื‘ื“ื•ืง ืืช ื”-Logs ื‘-Hugging Face Spaces
2. ื‘ื“ื•ืง ืืช [ืคืชืจื•ืŸ ื‘ืขื™ื•ืช](#ืคืชืจื•ืŸ-ื‘ืขื™ื•ืช) ืœืžืขืœื”
3. ืคืชื— Issue ื‘-GitHub repository
**ื‘ื”ืฆืœื—ื”! ๐Ÿš€**