Spaces:
Sleeping
Sleeping
metadata
title: LLM Chatbot
emoji: ๐ค
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.9.1
app_file: app.py
pinned: false
license: mit
๐ค Hugging Face LLM Chatbot
๋ค์ํ ์คํ์์ค LLM ๋ชจ๋ธ๊ณผ ๋ํํ ์ ์๋ ์น ๊ธฐ๋ฐ ์ฑ๋ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค.
โจ ์ฃผ์ ๊ธฐ๋ฅ
- ๋ค์ค ๋ชจ๋ธ ์ง์: 7๊ฐ ๋ชจ๋ธ (์์ด 3๊ฐ, ํ๊ธ 4๊ฐ)
- ๋ก์ปฌ ์คํ: Transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ก์ปฌ์์ ๋ชจ๋ธ ์คํ
- API ์ ํ ์์: ์ธํฐ๋ท ์ฐ๊ฒฐ ์์ด๋ ์๋ (์ฒซ ๋ค์ด๋ก๋ ํ)
- ์๋ ์ธ์ ๊ด๋ฆฌ: ๋ชจ๋ธ ๋ณ๊ฒฝ ์ ๋ํ ์๋ ์ด๊ธฐํ
- ์์ ๋ฌด๋ฃ: API ๋น์ฉ ์์, ์คํ์์ค
๐ฏ ์ง์ ๋ชจ๋ธ
์์ด ๋ชจ๋ธ
- DialoGPT Small - ๋น ๋ฅธ ๋ํํ ๋ชจ๋ธ (~350MB)
- DialoGPT Medium - ๊ณ ํ์ง ๋ํํ ๋ชจ๋ธ (~800MB)
- GPT-2 - ๋ฒ์ฉ ํ ์คํธ ์์ฑ ๋ชจ๋ธ (~500MB)
ํ๊ธ ๋ชจ๋ธ
- Llama-2-Ko 7B - Llama 2 ๊ธฐ๋ฐ ํ๊ธ ๋ํํ ๋ชจ๋ธ (~14GB, ๊ณ ์ฌ์)
- KoT-Llama2-7B-Chat - ํ๊ตญ์ด ์ต์ ํ Llama 2 ๋ํ ๋ชจ๋ธ (~14GB, ๊ณ ์ฌ์)
- KoAlpaca 5.8B - ํ๊ธ ๋ํํ ๋ชจ๋ธ (~12GB, ๊ณ ์ฌ์)
- KULLM-Polyglot 5.8B - ๊ณ ๋ ค๋ NLP ์ฐ๊ตฌ์ค ํ๊ธ ๋ํ ๋ชจ๋ธ (~12GB, ๊ณ ์ฌ์)
๐ ๋ก์ปฌ ์คํ ๋ฐฉ๋ฒ
1. ์ ์ฅ์ ํด๋ก
git clone <repository-url>
cd simple-chatbot-gradio
2. ์์กด์ฑ ์ค์น
pip install -r requirements.txt
3. ํ๊ฒฝ ๋ณ์ ์ค์ (์ ํ์ฌํญ)
Public ๋ชจ๋ธ๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
Private ๋ชจ๋ธ ์ ๊ทผ์ด ํ์ํ ๊ฒฝ์ฐ, ํ๊ฒฝ ๋ณ์๋ก HF_TOKEN์ ์ค์ ํ์ธ์:
export HF_TOKEN=your_hugging_face_token_here
Hugging Face ํ ํฐ ๋ฐ๊ธ ๋ฐฉ๋ฒ:
- Hugging Face์ ๋ก๊ทธ์ธ
- Settings โ Access Tokens ๋ฉ๋ด๋ก ์ด๋
- "New token" ํด๋ฆญํ์ฌ ํ ํฐ ์์ฑ
4. ์ ํ๋ฆฌ์ผ์ด์ ์คํ
python app.py
๋ธ๋ผ์ฐ์ ์์ http://localhost:7860์ผ๋ก ์ ์ํ์ธ์.
๐ Hugging Face Spaces ๋ฐฐํฌ
๋ฐฉ๋ฒ 1: ์น UI ์ฌ์ฉ
- Hugging Face Spaces์ ์ ์
- "Create new Space" ํด๋ฆญ
- SDK๋ก "Gradio" ์ ํ
- ํ์ผ ์
๋ก๋:
app.pyrequirements.txtREADME.md
- (์ ํ์ฌํญ) Private ๋ชจ๋ธ ์ฌ์ฉ ์: Settings โ Repository secrets์์
HF_TOKEN์ถ๊ฐ - ์๋ ๋น๋ ๋ฐ ๋ฐฐํฌ ๋๊ธฐ (์ฒซ ๋น๋๋ 5-10๋ถ ์์)
๋ฐฉ๋ฒ 2: Git ์ฌ์ฉ
# Hugging Face Space ์ ์ฅ์๋ฅผ remote๋ก ์ถ๊ฐ
git remote add space https://huggingface.co/spaces/<username>/<space-name>
# ํ์ผ ํธ์
git add .
git commit -m "Initial commit"
git push space main
โ๏ธ ๊ธฐ์ ์คํ
- ํ๋ ์์ํฌ: Gradio 5.x
- ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ: Transformers, PyTorch
- ์ธ์ด: Python 3.10+
- ์ฃผ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ:
gradio- ์น ์ธํฐํ์ด์คtransformers- ๋ชจ๋ธ ๋ก๋ฉ ๋ฐ ์ถ๋กtorch- ๋ฅ๋ฌ๋ ํ๋ ์์ํฌpython-dotenv- ํ๊ฒฝ ๋ณ์ ๊ด๋ฆฌ
๐ ํ๋ก์ ํธ ๊ตฌ์กฐ
simple-chatbot-gradio/
โโโ app.py # ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์
โโโ requirements.txt # Python ์์กด์ฑ
โโโ README.md # ํ๋ก์ ํธ ๋ฌธ์
โโโ .env # ํ๊ฒฝ ๋ณ์ (git ignored)
โโโ CLAUDE.md # ๊ฐ๋ฐ ๊ฐ์ด๋
โ ๏ธ ์ ํ์ฌํญ ๋ฐ ์ฃผ์์ฌํญ
์ฑ๋ฅ
- CPU ์คํ: GPU ์์ด CPU์์ ์คํ๋๋ฏ๋ก ์๋ต์ด ๋๋ฆด ์ ์์ต๋๋ค (5-30์ด)
- ๋ฉ๋ชจ๋ฆฌ: ๋ชจ๋ธ ํฌ๊ธฐ์ ๋ฐ๋ผ 1-16GB RAM ํ์
- ์ฒซ ์คํ: ๋ชจ๋ธ ๋ค์ด๋ก๋๋ก ์๊ฐ ์์ (350MB~14GB)
๋ชจ๋ธ๋ณ ํน์ฑ
- ์์ด ๋ชจ๋ธ: ํ๊ธ ์ ๋ ฅ ์ ๋ถ์์ฐ์ค๋ฌ์ด ์๋ต
- ํ๊ธ ๋ชจ๋ธ (Llama 2 ๊ธฐ๋ฐ): ๋ํ ํ์ง ์ฐ์ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๋ง์ด ํ์ (14GB+)
- ํ๊ธ ๋ชจ๋ธ (Polyglot ๊ธฐ๋ฐ): ์ค๊ฐ ํฌ๊ธฐ, ๋ํ ํ์ง ์ํธ (12GB+)
- ๋ชจ๋ ํ๊ธ ๋ชจ๋ธ: CPU ํ๊ฒฝ์์ ๋งค์ฐ ๋๋ฆผ, GPU ๊ถ์ฅ
Hugging Face Spaces ๋ฐฐํฌ
- ๋ฌด๋ฃ tier: CPU ์ธ์คํด์ค๋ง ์ ๊ณต (16GB RAM)
- Space Sleep: 48์๊ฐ ๋นํ์ฑ ์ ์๋ sleep, ์ฒซ ๋ก๋ฉ ๋๋ฆผ
- ๋ฉ๋ชจ๋ฆฌ ์ ํ: ํ๊ธ ๋ชจ๋ธ๋ค์ ๋ฌด๋ฃ tier์์ ์คํ ๋ถ๊ฐ (12-14GB ํ์)
- ์ฒซ ์คํ: ๋ชจ๋ธ ๋ค์ด๋ก๋๋ก 1-5๋ถ ์์
- ๊ถ์ฅ ๋ชจ๋ธ: DialoGPT Small/Medium, GPT-2๋ง ๋ฌด๋ฃ tier์์ ์์ ์
- ํ๊ธ ๋ํ: ๋ฌด๋ฃ tier์์๋ ํ๊ธ ๋ชจ๋ธ ์ฌ์ฉ ๋ถ๊ฐ, ์ ๋ฃ GPU tier ํ์
๐ง ๊ฐ๋ฐ ๋ฐ ์ปค์คํฐ๋ง์ด์ง
๋ชจ๋ธ ์ถ๊ฐ
app.py์ MODELS ๋์
๋๋ฆฌ์ ์ ๋ชจ๋ธ์ ์ถ๊ฐํ์ธ์:
MODELS = {
"your-model-id": {
"name": "๋ชจ๋ธ ํ์ ์ด๋ฆ",
"max_length": 512,
"temperature": 0.7,
},
}
UI ์ปค์คํฐ๋ง์ด์ง
Gradio Blocks์ ChatInterface๋ฅผ ์์ ํ์ฌ UI๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Gradio ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
๐ ๋ผ์ด์ ์ค
MIT License
๐โโ๏ธ ์ง์
์ด์๋ ์ง๋ฌธ์ด ์์ผ์๋ฉด GitHub Issues๋ฅผ ํตํด ๋ฌธ์ํด์ฃผ์ธ์.