soyailabs / HF_UPLOAD_GUIDE.md
SOY NV AI
Fix Ollama communication error and update Railway PostgreSQL setup guide
ef22967

Hugging Face Spaces μ—…λ‘œλ“œ κ°€μ΄λ“œ

이 κ°€μ΄λ“œλŠ” Hugging Face Spaces에 νŒŒμΌμ„ μ—…λ‘œλ“œν•˜λŠ” 방법을 μ„€λͺ…ν•©λ‹ˆλ‹€.

방법 1: Git을 μ‚¬μš©ν•œ μ—…λ‘œλ“œ (ꢌμž₯)

1. Hugging Face Spaces 생성

  1. Hugging Face 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을 μ‚¬μš©ν•˜μ—¬ 클둠:

# Hugging Faceμ—μ„œ μ œκ³΅ν•˜λŠ” Git URL μ‚¬μš©
git clone https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE_NAME
cd YOUR_SPACE_NAME

3. ν•„μš”ν•œ 파일 볡사

둜컬 ν”„λ‘œμ νŠΈμ—μ„œ ν•„μš”ν•œ νŒŒμΌλ“€μ„ 볡사:

# 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 컀밋 및 ν‘Έμ‹œ

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)

ν”„λ‘œμ νŠΈ 루트 λ””λ ‰ν† λ¦¬μ—μ„œ μ‹€ν–‰:

# 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/)κ°€ μ—…λ‘œλ“œλ˜μ—ˆλŠ”μ§€ 확인