soyailabs / HF_UPLOAD_GUIDE.md
SOY NV AI
Fix Ollama communication error and update Railway PostgreSQL setup guide
ef22967
|
raw
history blame
3.7 kB
# Hugging Face Spaces μ—…λ‘œλ“œ κ°€μ΄λ“œ
이 κ°€μ΄λ“œλŠ” Hugging Face Spaces에 νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€.
## 방법 1: Git을 μ‚¬μš©ν•œ μ—…λ‘œλ“œ (ꢌμž₯)
### 1. Hugging Face Spaces 생성
1. [Hugging Face Spaces](https://huggingface.co/spaces) 접속
2. "Create new Space" 클릭
3. μ„€μ •:
- **Space name**: μ›ν•˜λŠ” 이름
- **SDK**: Docker
- **Docker template**: Blank
- **Hardware**: CPU Basic (λ˜λŠ” ν•„μš”μ— 따라)
- **Visibility**: Public λ˜λŠ” Private
### 2. Git μ €μž₯μ†Œ 클둠
Spaces 생성 ν›„, Hugging Faceμ—μ„œ μ œκ³΅ν•˜λŠ” Git URL을 μ‚¬μš©ν•˜μ—¬ 클둠:
```bash
# Hugging Faceμ—μ„œ μ œκ³΅ν•˜λŠ” Git URL μ‚¬μš©
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME
```
### 3. ν•„μš”ν•œ 파일 볡사
둜컬 ν”„λ‘œμ νŠΈμ—μ„œ ν•„μš”ν•œ νŒŒμΌλ“€μ„ 볡사:
```bash
# Windows PowerShellμ—μ„œ μ‹€ν–‰
# ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ μ‹€ν–‰
# ν•„μˆ˜ 파일 볡사
Copy-Item ..\app.py .
Copy-Item ..\Dockerfile .
Copy-Item ..\requirements.txt .
Copy-Item ..\README_HF.md README.md
# 디렉토리 볡사
Copy-Item -Recurse ..\app .
Copy-Item -Recurse ..\templates .
Copy-Item -Recurse ..\static .
```
### 4. Git 컀밋 및 ν‘Έμ‹œ
```bash
git add .
git commit -m "Initial deployment"
git push
```
## 방법 2: μ›Ή μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•œ μ—…λ‘œλ“œ
1. Hugging Face Spaces νŽ˜μ΄μ§€ 접속
2. "Files and versions" νƒ­ 클릭
3. "Add file" > "Upload files" 클릭
4. λ‹€μŒ νŒŒμΌλ“€μ„ λ“œλž˜κ·Έ μ•€ λ“œλ‘­μœΌλ‘œ μ—…λ‘œλ“œ:
### ν•„μˆ˜ 파일 λͺ©λ‘
#### 루트 디렉토리 파일
- `app.py`
- `Dockerfile`
- `requirements.txt`
- `README.md` (README_HF.md의 λ‚΄μš© μ‚¬μš©)
#### 디렉토리 (폴더 전체 μ—…λ‘œλ“œ)
- `app/` (전체 디렉토리)
- `templates/` (전체 디렉토리)
- `static/` (전체 디렉토리)
## μ—…λ‘œλ“œν•˜μ§€ 말아야 ν•  파일/폴더
λ‹€μŒ ν•­λͺ©μ€ `.gitignore`에 ν¬ν•¨λ˜μ–΄ μžˆμœΌλ―€λ‘œ μ—…λ‘œλ“œν•˜μ§€ λ§ˆμ„Έμš”:
- `venv/` - 가상 ν™˜κ²½
- `instance/` - λ°μ΄ν„°λ² μ΄μŠ€ 파일
- `uploads/` - μ—…λ‘œλ“œλœ 파일
- `vector_db/` - 벑터 λ°μ΄ν„°λ² μ΄μŠ€
- `logs/` - 둜그 파일
- `*.pyc`, `__pycache__/` - Python μΊμ‹œ
- `.env` - ν™˜κ²½ λ³€μˆ˜ 파일 (민감 정보)
- `.git/` - Git μ €μž₯μ†Œ
## ν™˜κ²½ λ³€μˆ˜ μ„€μ •
파일 μ—…λ‘œλ“œ ν›„, Settings > Repository secretsμ—μ„œ ν™˜κ²½ λ³€μˆ˜ μ„€μ •:
### ν•„μˆ˜
```
SECRET_KEY=your-random-secret-key-here
```
### 선택사항
```
GEMINI_API_KEY=your-gemini-api-key
DATABASE_URL=sqlite:///instance/finance_analysis.db
```
## 배포 확인
1. Spaces νŽ˜μ΄μ§€μ—μ„œ "Logs" νƒ­ 확인
2. λΉŒλ“œκ°€ μ™„λ£Œλ˜λ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 접속 ν…ŒμŠ€νŠΈ
3. 였λ₯˜κ°€ 있으면 둜그 확인
## λΉ λ₯Έ μ—…λ‘œλ“œ 슀크립트 (Windows PowerShell)
ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ μ‹€ν–‰:
```powershell
# Hugging Face Spaces 디렉토리 경둜 μ„€μ •
$HF_SPACE_DIR = "C:\path\to\huggingface\space"
# ν•„μˆ˜ 파일 볡사
Copy-Item app.py $HF_SPACE_DIR\
Copy-Item Dockerfile $HF_SPACE_DIR\
Copy-Item requirements.txt $HF_SPACE_DIR\
Copy-Item README_HF.md "$HF_SPACE_DIR\README.md"
# 디렉토리 볡사
Copy-Item -Recurse app "$HF_SPACE_DIR\app"
Copy-Item -Recurse templates "$HF_SPACE_DIR\templates"
Copy-Item -Recurse static "$HF_SPACE_DIR\static"
Write-Host "파일 볡사 μ™„λ£Œ!"
```
## 문제 ν•΄κ²°
### λΉŒλ“œ μ‹€νŒ¨
- `requirements.txt`의 νŒ¨ν‚€μ§€ 버전 확인
- λ‘œκ·Έμ—μ„œ 였λ₯˜ λ©”μ‹œμ§€ 확인
### λŸ°νƒ€μž„ 였λ₯˜
- ν™˜κ²½ λ³€μˆ˜κ°€ μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ—ˆλŠ”μ§€ 확인
- `app.py`κ°€ μ˜¬λ°”λ₯Έ 포트λ₯Ό μ‚¬μš©ν•˜λŠ”μ§€ 확인 (7860)
### 파일 λˆ„λ½
- λͺ¨λ“  ν•„μˆ˜ 디렉토리(`app/`, `templates/`, `static/`)κ°€ μ—…λ‘œλ“œλ˜μ—ˆλŠ”μ§€ 확인