| # 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/`)κ° μ λ‘λλμλμ§ νμΈ | |