Spaces:
Sleeping
Sleeping
| # Lily LLM API - Hugging Face Spaces ๋ฐฐํฌ ๊ฐ์ด๋ | |
| ## ๐ ๋ฐฐํฌ ๋จ๊ณ๋ณ ๊ฐ์ด๋ | |
| ### 1. ์ฌ์ ์ค๋น | |
| #### 1.1 Hugging Face ๊ณ์ ๋ฐ ํ ํฐ | |
| 1. [Hugging Face](https://huggingface.co) ๊ณ์ ์์ฑ | |
| 2. [Settings > Access Tokens](https://huggingface.co/settings/tokens)์์ Write ๊ถํ ํ ํฐ ์์ฑ | |
| 3. ํ ํฐ์ ์์ ํ ๊ณณ์ ์ ์ฅ | |
| #### 1.2 ํ์ํ ํ์ผ๋ค ํ์ธ | |
| - `Dockerfile.huggingface` - Docker ์ค์ | |
| - `app_huggingface.py` - ์ง์ ์ | |
| - `requirements_full.txt` - ์์กด์ฑ ํจํค์ง | |
| - `README_huggingface.md` - ํ๋ก์ ํธ ์ค๋ช | |
| - `.dockerignore` - Docker ๋น๋ ์ ์ธ ํ์ผ | |
| ### 2. Hugging Face Spaces ์์ฑ | |
| #### 2.1 Space ์์ฑ | |
| 1. [Hugging Face Spaces](https://huggingface.co/spaces) ์ ์ | |
| 2. "Create new Space" ํด๋ฆญ | |
| 3. ๋ค์ ์ค์ ์ผ๋ก Space ์์ฑ: | |
| - **Owner**: ๋ณธ์ธ ๊ณ์ | |
| - **Space name**: `lily-llm-api` | |
| - **License**: `MIT` | |
| - **Select the Space SDK**: `Docker` | |
| - **Space hardware**: `CPU basic` (๋ฌด๋ฃ) ๋๋ `CPU upgrade` (์ ๋ฃ, ๋ ๋น ๋ฆ) | |
| - **Visibility**: `Public` ๋๋ `Private` | |
| #### 2.2 Space ์ค์ | |
| Space ์์ฑ ํ Settings์์: | |
| - **Variables**: ํ์ํ ํ๊ฒฝ ๋ณ์ ์ค์ | |
| - **Secrets**: API ํค ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด ์ค์ | |
| ### 3. ์ฝ๋ ๋ฐฐํฌ | |
| #### 3.1 Git ๋ฐฉ์ (๊ถ์ฅ) | |
| ```bash | |
| # 1. Space ์ ์ฅ์ ํด๋ก | |
| git clone https://huggingface.co/spaces/YOUR_USERNAME/lily-llm-api | |
| cd lily-llm-api | |
| # 2. ํ์ํ ํ์ผ๋ค ๋ณต์ฌ | |
| cp /path/to/lily_generate_package/Dockerfile.huggingface ./Dockerfile | |
| cp /path/to/lily_generate_package/app_huggingface.py ./ | |
| cp /path/to/lily_generate_package/requirements_full.txt ./requirements.txt | |
| cp /path/to/lily_generate_package/README_huggingface.md ./README.md | |
| cp /path/to/lily_generate_package/.dockerignore ./ | |
| # 3. ํ๋ก์ ํธ ์์ค ์ฝ๋ ๋ณต์ฌ | |
| cp -r /path/to/lily_generate_package/lily_llm_api ./ | |
| cp -r /path/to/lily_generate_package/lily_llm_core ./ | |
| cp -r /path/to/lily_generate_package/lily_llm_utils ./ | |
| # 4. Git ์ปค๋ฐ ๋ฐ ํธ์ | |
| git add . | |
| git commit -m "Initial deployment of Lily LLM API" | |
| git push | |
| ``` | |
| #### 3.2 ์น ์ธํฐํ์ด์ค ๋ฐฉ์ | |
| 1. Hugging Face Space ํ์ด์ง์์ "Files" ํญ ํด๋ฆญ | |
| 2. "Add file" > "Upload files" ํด๋ฆญ | |
| 3. ํ์ํ ํ์ผ๋ค์ ๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์ ๋ก๋ | |
| 4. ์ปค๋ฐ ๋ฉ์์ง ์์ฑ ํ "Commit changes" ํด๋ฆญ | |
| ### 4. ํ๊ฒฝ ๋ณ์ ์ค์ | |
| Space Settings > Variables์์ ๋ค์ ํ๊ฒฝ ๋ณ์๋ค ์ค์ : | |
| ```bash | |
| # ์๋ฒ ์ค์ | |
| HOST=0.0.0.0 | |
| PORT=7860 | |
| PYTHONPATH=/app | |
| PYTHONUNBUFFERED=1 | |
| # ๋ชจ๋ธ ์ค์ | |
| DEFAULT_MODEL=kanana-1.5-v-3b-instruct | |
| MAX_NEW_TOKENS=256 | |
| TEMPERATURE=0.7 | |
| # ์บ์ ์ค์ | |
| TRANSFORMERS_CACHE=/app/cache/transformers | |
| HF_HOME=/app/cache/huggingface | |
| TORCH_HOME=/app/cache/torch | |
| TOKENIZERS_PARALLELISM=false | |
| # ์ฑ๋ฅ ์ต์ ํ | |
| OMP_NUM_THREADS=1 | |
| MKL_NUM_THREADS=1 | |
| ``` | |
| ### 5. ๋ฐฐํฌ ํ์ธ | |
| #### 5.1 ๋น๋ ๋ก๊ทธ ํ์ธ | |
| 1. Space ํ์ด์ง์์ "Logs" ํญ ํด๋ฆญ | |
| 2. Docker ๋น๋ ๋ฐ ์คํ ๋ก๊ทธ ํ์ธ | |
| 3. ์ค๋ฅ ๋ฐ์ ์ ๋ก๊ทธ๋ฅผ ํตํด ๋ฌธ์ ํด๊ฒฐ | |
| #### 5.2 API ํ ์คํธ | |
| ๋ฐฐํฌ ์๋ฃ ํ ๋ค์๊ณผ ๊ฐ์ด ํ ์คํธ: | |
| ```python | |
| import requests | |
| # Health check | |
| response = requests.get("https://YOUR_USERNAME-lily-llm-api.hf.space/health") | |
| print(response.json()) | |
| # ํ ์คํธ ์์ฑ ํ ์คํธ | |
| response = requests.post( | |
| "https://YOUR_USERNAME-lily-llm-api.hf.space/generate", | |
| data={"prompt": "์๋ ํ์ธ์! ํ ์คํธ ๋ฉ์์ง์ ๋๋ค."} | |
| ) | |
| print(response.json()) | |
| ``` | |
| ### 6. ์ฑ๋ฅ ์ต์ ํ | |
| #### 6.1 ํ๋์จ์ด ์ ๊ทธ๋ ์ด๋ | |
| - ๋ฌด๋ฃ CPU basic: ์ ํ์ ์ฑ๋ฅ | |
| - ์ ๋ฃ CPU upgrade: ๋ ๋น ๋ฅธ ์ฒ๋ฆฌ | |
| - GPU ์ต์ : ๋์ฉ๋ ๋ชจ๋ธ ์ฒ๋ฆฌ ์ ํ์ | |
| #### 6.2 ๋ชจ๋ธ ์ต์ ํ | |
| ```python | |
| # app_huggingface.py์์ ๋ชจ๋ธ ๋ก๋ฉ ์ต์ ํ | |
| model = AutoModelForCausalLM.from_pretrained( | |
| model_name, | |
| torch_dtype=torch.float16, # ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ๊ฐ์ | |
| device_map="auto", # ์๋ ๋๋ฐ์ด์ค ๋ฐฐ์น | |
| low_cpu_mem_usage=True # CPU ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ | |
| ) | |
| ``` | |
| ### 7. ๋ฌธ์ ํด๊ฒฐ | |
| #### 7.1 ์ผ๋ฐ์ ์ธ ์ค๋ฅ | |
| **๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ค๋ฅ** | |
| ```bash | |
| # requirements.txt์์ ๋ถํ์ํ ํจํค์ง ์ ๊ฑฐ | |
| # ๋ชจ๋ธ ํฌ๊ธฐ ์ถ์ ๋๋ ์์ํ ์ ์ฉ | |
| ``` | |
| **๋น๋ ์๊ฐ ์ด๊ณผ** | |
| ```bash | |
| # .dockerignore ํ์ผ๋ก ๋ถํ์ํ ํ์ผ ์ ์ธ | |
| # multi-stage build ์ฌ์ฉ์ผ๋ก ๋น๋ ์ต์ ํ | |
| ``` | |
| **๋ชจ๋ import ์ค๋ฅ** | |
| ```bash | |
| # PYTHONPATH ํ๊ฒฝ ๋ณ์ ํ์ธ | |
| # requirements.txt ์์กด์ฑ ํ์ธ | |
| ``` | |
| #### 7.2 ๋ก๊ทธ ๋ถ์ | |
| ```bash | |
| # ๋น๋ ๋ก๊ทธ์์ ์ค๋ฅ ์ฐพ๊ธฐ | |
| grep -i error build.log | |
| # ๋ฐํ์ ๋ก๊ทธ์์ ๋ฌธ์ ํ์ธ | |
| tail -f app.log | |
| ``` | |
| ### 8. Railway Hearth Chat ์ฐ๋ ์ค๋น | |
| ๋ฐฐํฌ๋ Hugging Face Space URL์ ๊ธฐ๋กํด๋์ธ์: | |
| ``` | |
| https://YOUR_USERNAME-lily-llm-api.hf.space | |
| ``` | |
| ์ด URL์ Hearth Chat์ AI ์ค์ ์์ Lily LLM API URL๋ก ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. | |
| ### 9. ์ ์ง๋ณด์ | |
| #### 9.1 ์ ๋ฐ์ดํธ ๋ฐฐํฌ | |
| ```bash | |
| # ์ฝ๋ ์์ ํ | |
| git add . | |
| git commit -m "Update: description of changes" | |
| git push | |
| ``` | |
| #### 9.2 ๋ชจ๋ํฐ๋ง | |
| - Space ๋์๋ณด๋์์ ์ฌ์ฉ๋ ๋ชจ๋ํฐ๋ง | |
| - ๋ก๊ทธ๋ฅผ ํตํ ์ค๋ฅ ์ถ์ | |
| - ์ฑ๋ฅ ๋ฉํธ๋ฆญ ํ์ธ | |
| --- | |
| ## ๐ ์ง์ | |
| ๋ฐฐํฌ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด: | |
| 1. Hugging Face ๊ณต์ ๋ฌธ์ ์ฐธ์กฐ | |
| 2. Community ํฌ๋ผ์์ ๋์ ์์ฒญ | |
| 3. GitHub Issues๋ฅผ ํตํ ๊ธฐ์ ์ง์ |