lily_fast_api / HUGGINGFACE_CLOUD_GUIDE.md
gbrabbit's picture
Fresh start for HF Spaces deployment
526927a
|
raw
history blame
6.92 kB

โ˜๏ธ Hugging Face ํด๋ผ์šฐ๋“œ GPU ๋ฐฐํฌ ๊ฐ€์ด๋“œ

๐Ÿ“‹ ๊ฐœ์š”

์ด ๊ฐ€์ด๋“œ๋Š” ๋กœ์ปฌ PC์—์„œ Hugging Face ํด๋ผ์šฐ๋“œ GPU ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ , AI ๋ชจ๋ธ์„ ๋ฐฐํฌํ•œ ํ›„ Railway์—์„œ ์‹คํ–‰ ์ค‘์ธ Hearth Chat๊ณผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ๋ชฉํ‘œ

  1. Hugging Face ํด๋ผ์šฐ๋“œ GPU ํ™˜๊ฒฝ ์„ค์ •
  2. AI ๋ชจ๋ธ์„ Hugging Face Hub์— ์—…๋กœ๋“œ
  3. Inference Endpoints ์ƒ์„ฑ
  4. Railway Hearth Chat๊ณผ ์—ฐ๋™

๐Ÿš€ 1๋‹จ๊ณ„: Hugging Face ๊ณ„์ • ์„ค์ •

1.1 Hugging Face ๊ณ„์ • ์ƒ์„ฑ

  1. Hugging Face ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ: https://huggingface.co
  2. ํšŒ์›๊ฐ€์ž…: ์ด๋ฉ”์ผ๋กœ ๊ณ„์ • ์ƒ์„ฑ
  3. ํ”„๋กœํ•„ ์„ค์ •: ์‚ฌ์šฉ์ž๋ช… ์„ค์ • (์˜ˆ: your-username)

1.2 Access Token ์ƒ์„ฑ

  1. Settings > Access Tokens: https://huggingface.co/settings/tokens
  2. New Token ์ƒ์„ฑ:
    • Name: lily-math-rag-token
    • Role: Write
  3. ํ† ํฐ ๋ณต์‚ฌ: ์ƒ์„ฑ๋œ ํ† ํฐ์„ ์•ˆ์ „ํ•œ ๊ณณ์— ์ €์žฅ

1.3 ๋กœ์ปฌ ํ™˜๊ฒฝ ์„ค์ •

# Hugging Face CLI ์„ค์น˜
pip install huggingface_hub

# ๋กœ๊ทธ์ธ
huggingface-cli login
# ํ† ํฐ ์ž…๋ ฅ ํ”„๋กฌํ”„ํŠธ์—์„œ ์œ„์—์„œ ์ƒ์„ฑํ•œ ํ† ํฐ ์ž…๋ ฅ

๐Ÿ”ง 2๋‹จ๊ณ„: ๋ชจ๋ธ ์ค€๋น„ ๋ฐ ์—…๋กœ๋“œ

2.1 ๋กœ์ปฌ ๋ชจ๋ธ ํ™•์ธ

cd C:\Project\lily_generate_project\lily_generate_package
ls hearth_llm_model/

2.2 ๋ชจ๋ธ์„ Hugging Face Hub์— ์—…๋กœ๋“œ

# ๋ชจ๋ธ ์—…๋กœ๋“œ
huggingface-cli upload your-username/lily-math-model hearth_llm_model/

# ๋˜๋Š” Python ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ
python huggingface_cloud_setup.py

2.3 ๋ชจ๋ธ ์นด๋“œ ์ƒ์„ฑ

# ๋ชจ๋ธ ์นด๋“œ ์˜ˆ์‹œ (README.md)
---
language: ko
tags:
- math
- rag
- korean
license: mit
---

# Lily Math RAG Model

์ˆ˜ํ•™ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ํ•œ๊ตญ์–ด RAG ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

## ์‚ฌ์šฉ๋ฒ•

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("your-username/lily-math-model")
model = AutoModelForCausalLM.from_pretrained("your-username/lily-math-model")

## โ˜๏ธ 3๋‹จ๊ณ„: Hugging Face Inference Endpoints ์„ค์ •

### 3.1 Inference Endpoints ์ƒ์„ฑ
1. **Hugging Face ์›น์‚ฌ์ดํŠธ ๋ฐฉ๋ฌธ**: https://huggingface.co/inference-endpoints
2. **New Endpoint ํด๋ฆญ**
3. **์„ค์ • ์ž…๋ ฅ**:
   - **Repository**: `your-username/lily-math-model`
   - **Framework**: `PyTorch`
   - **Region**: `us-east-1` (๊ฐ€์žฅ ๋น ๋ฆ„)
   - **Instance Type**: `gpu.t4.medium` (์‹œ์ž‘์šฉ)
   - **Accelerator**: `GPU`

### 3.2 ์—”๋“œํฌ์ธํŠธ ์„ค์ •
```json
{
  "repository": "your-username/lily-math-model",
  "framework": "pytorch",
  "accelerator": "gpu",
  "instance_type": "gpu.t4.medium",
  "region": "us-east-1",
  "vendor": "aws"
}

3.3 ์—”๋“œํฌ์ธํŠธ URL ํ™•์ธ

  • ์ƒ์„ฑ๋œ ์—”๋“œํฌ์ธํŠธ์˜ URL์„ ๋ณต์‚ฌ
  • ์˜ˆ: https://your-endpoint-id.us-east-1.aws.endpoints.huggingface.cloud

๐Ÿ”— 4๋‹จ๊ณ„: Railway Hearth Chat ์—ฐ๋™

4.1 ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

# ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
export RAILWAY_HEARTH_CHAT_URL="https://hearth-chat-production.up.railway.app"
export HF_ENDPOINT_URL="https://your-endpoint-id.us-east-1.aws.endpoints.huggingface.cloud"
export HF_TOKEN="your-huggingface-token"

4.2 ์—ฐ๋™ ํ…Œ์ŠคํŠธ

# ์—ฐ๋™ ํ…Œ์ŠคํŠธ ์‹คํ–‰
python railway_hearth_chat_integration.py

4.3 Hearth Chat API ์ˆ˜์ • (ํ•„์š”์‹œ)

Railway Hearth Chat์—์„œ Hugging Face ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก API๋ฅผ ์ˆ˜์ •:

// Hearth Chat API ์˜ˆ์‹œ
async function callHuggingFaceAPI(message) {
  const response = await fetch(process.env.HF_ENDPOINT_URL, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.HF_TOKEN}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      inputs: message,
      parameters: {
        max_length: 200,
        temperature: 0.7
      }
    })
  });
  
  const result = await response.json();
  return result.generated_text;
}

๐Ÿงช 5๋‹จ๊ณ„: ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ

5.1 Hugging Face ์—”๋“œํฌ์ธํŠธ ํ…Œ์ŠคํŠธ

# ์—”๋“œํฌ์ธํŠธ ํ…Œ์ŠคํŠธ
curl -X POST https://your-endpoint-id.us-east-1.aws.endpoints.huggingface.cloud \
  -H "Authorization: Bearer your-token" \
  -H "Content-Type: application/json" \
  -d '{
    "inputs": "์•ˆ๋…•ํ•˜์„ธ์š”! ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ๋„์™€์ฃผ์„ธ์š”.",
    "parameters": {
      "max_length": 100,
      "temperature": 0.7
    }
  }'

5.2 Railway ์—ฐ๋™ ํ…Œ์ŠคํŠธ

# ์ „์ฒด ์—ฐ๋™ ํ…Œ์ŠคํŠธ
python test_railway_huggingface_integration.py

๐Ÿ“Š 6๋‹จ๊ณ„: ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ตœ์ ํ™”

6.1 Hugging Face ๋ชจ๋‹ˆํ„ฐ๋ง

  • Inference Endpoints ๋Œ€์‹œ๋ณด๋“œ: https://huggingface.co/inference-endpoints
  • ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ: GPU ์‚ฌ์šฉ๋Ÿ‰, ์š”์ฒญ ์ˆ˜, ์‘๋‹ต ์‹œ๊ฐ„
  • ๋น„์šฉ ๋ชจ๋‹ˆํ„ฐ๋ง: ์›”๋ณ„ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ๋น„์šฉ

6.2 Railway ๋ชจ๋‹ˆํ„ฐ๋ง

  • Railway ๋Œ€์‹œ๋ณด๋“œ: https://railway.app/dashboard
  • ๋กœ๊ทธ ํ™•์ธ: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ ๋ฐ ์˜ค๋ฅ˜
  • ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง: ์‘๋‹ต ์‹œ๊ฐ„, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰

๐Ÿ”ง ๋ฌธ์ œ ํ•ด๊ฒฐ

Hugging Face ๊ด€๋ จ ๋ฌธ์ œ

  1. ํ† ํฐ ์ธ์ฆ ์˜ค๋ฅ˜: ํ† ํฐ ์žฌ์ƒ์„ฑ ๋ฐ ํ™•์ธ
  2. ๋ชจ๋ธ ์—…๋กœ๋“œ ์‹คํŒจ: ํŒŒ์ผ ํฌ๊ธฐ ๋ฐ ํ˜•์‹ ํ™•์ธ
  3. ์—”๋“œํฌ์ธํŠธ ์ƒ์„ฑ ์‹คํŒจ: GPU ํ• ๋‹น๋Ÿ‰ ํ™•์ธ

Railway ์—ฐ๋™ ๋ฌธ์ œ

  1. ์—ฐ๊ฒฐ ์‹คํŒจ: URL ๋ฐ ๋„คํŠธ์›Œํฌ ํ™•์ธ
  2. API ์˜ค๋ฅ˜: ์—”๋“œํฌ์ธํŠธ ๋ฐ ํ—ค๋” ํ™•์ธ
  3. ์‘๋‹ต ์ง€์—ฐ: ํƒ€์ž„์•„์›ƒ ์„ค์ • ์กฐ์ •

๐Ÿ’ฐ ๋น„์šฉ ์ตœ์ ํ™”

Hugging Face ๋น„์šฉ

  • gpu.t4.medium: $0.60/์‹œ๊ฐ„ (์‹œ์ž‘์šฉ)
  • gpu.t4.large: $1.20/์‹œ๊ฐ„ (์„ฑ๋Šฅ ํ–ฅ์ƒ)
  • gpu.a10g: $2.40/์‹œ๊ฐ„ (๊ณ ์„ฑ๋Šฅ)

๋น„์šฉ ์ ˆ์•ฝ ํŒ

  1. ์ž๋™ ์Šค์ผ€์ผ๋ง: ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ ์—”๋“œํฌ์ธํŠธ ์ค‘์ง€
  2. ์บ์‹ฑ: ๋™์ผํ•œ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์บ์‹ฑ
  3. ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ

๐Ÿš€ ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

  • Hugging Face ๊ณ„์ • ์ƒ์„ฑ ๋ฐ ํ† ํฐ ์„ค์ •
  • ๋กœ์ปฌ ๋ชจ๋ธ ํ™•์ธ ๋ฐ ์—…๋กœ๋“œ
  • Inference Endpoints ์ƒ์„ฑ
  • ์—”๋“œํฌ์ธํŠธ URL ๋ฐ ํ† ํฐ ํ™•์ธ
  • Railway Hearth Chat URL ํ™•์ธ
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
  • ์—ฐ๋™ ํ…Œ์ŠคํŠธ ์‹คํ–‰
  • ๋ชจ๋‹ˆํ„ฐ๋ง ์„ค์ •
  • ๋น„์šฉ ์ตœ์ ํ™” ์„ค์ •

๐Ÿ“ž ์ง€์›

์œ ์šฉํ•œ ๋งํฌ

๋ฌธ์ œ ํ•ด๊ฒฐ

  1. Hugging Face ์ง€์›: https://huggingface.co/support
  2. Railway ์ง€์›: https://railway.app/support
  3. ์ปค๋ฎค๋‹ˆํ‹ฐ: GitHub Issues ๋ฐ Discord

๐ŸŽ‰ ์„ฑ๊ณต ํ™•์ธ

๋ชจ๋“  ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด ๋‹ค์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • โœ… Hugging Face ์—”๋“œํฌ์ธํŠธ: GPU์—์„œ AI ๋ชจ๋ธ ์‹คํ–‰
  • โœ… Railway Hearth Chat: ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ฑ„ํŒ… ๊ฐ€๋Šฅ
  • โœ… ์—ฐ๋™: ์‚ฌ์šฉ์ž ๋ฉ”์‹œ์ง€ โ†’ Hugging Face โ†’ AI ์‘๋‹ต โ†’ Hearth Chat
  • โœ… ๋ชจ๋‹ˆํ„ฐ๋ง: ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์„ฑ๋Šฅ ํ™•์ธ