simple-chat / README.md
alex4cip's picture
feat: Hugging Face LLM chatbot with multi-language support
c9ef1fe
|
raw
history blame
4.29 kB
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 ๋ชจ๋ธ๊ณผ ๋Œ€ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค.

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ๋‹ค์ค‘ ๋ชจ๋ธ ์ง€์›: 5๊ฐœ ๋ชจ๋ธ (์˜์–ด 3๊ฐœ, ํ•œ๊ธ€ 2๊ฐœ)
  • ๋กœ์ปฌ ์‹คํ–‰: Transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋กœ์ปฌ์—์„œ ๋ชจ๋ธ ์‹คํ–‰
  • API ์ œํ•œ ์—†์Œ: ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์—†์ด๋„ ์ž‘๋™ (์ฒซ ๋‹ค์šด๋กœ๋“œ ํ›„)
  • ์ž๋™ ์„ธ์…˜ ๊ด€๋ฆฌ: ๋ชจ๋ธ ๋ณ€๊ฒฝ ์‹œ ๋Œ€ํ™” ์ž๋™ ์ดˆ๊ธฐํ™”
  • ์™„์ „ ๋ฌด๋ฃŒ: API ๋น„์šฉ ์—†์Œ, ์˜คํ”ˆ์†Œ์Šค

๐ŸŽฏ ์ง€์› ๋ชจ๋ธ

์˜์–ด ๋ชจ๋ธ

  1. DialoGPT Small - ๋น ๋ฅธ ๋Œ€ํ™”ํ˜• ๋ชจ๋ธ (~350MB)
  2. DialoGPT Medium - ๊ณ ํ’ˆ์งˆ ๋Œ€ํ™”ํ˜• ๋ชจ๋ธ (~800MB)
  3. GPT-2 - ๋ฒ”์šฉ ํ…์ŠคํŠธ ์ƒ์„ฑ ๋ชจ๋ธ (~500MB)

ํ•œ๊ธ€ ๋ชจ๋ธ

  1. KoGPT-2 - SKT์˜ ํ•œ๊ธ€ ํŠนํ™” ๋ชจ๋ธ (~500MB)
  2. KoAlpaca 5.8B - ๋Œ€ํ™”ํ˜• ํ•œ๊ธ€ ๋ชจ๋ธ, ๊ณ ์‚ฌ์–‘ ํ•„์š” (~12GB)

๐Ÿš€ ๋กœ์ปฌ ์‹คํ–‰ ๋ฐฉ๋ฒ•

1. ์ €์žฅ์†Œ ํด๋ก 

git clone <repository-url>
cd simple-chatbot-gradio

2. ์˜์กด์„ฑ ์„ค์น˜

pip install -r requirements.txt

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

.env ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  Hugging Face ํ† ํฐ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

HF_TOKEN=your_hugging_face_token_here

Hugging Face ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐฉ๋ฒ•:

  1. Hugging Face์— ๋กœ๊ทธ์ธ
  2. Settings โ†’ Access Tokens ๋ฉ”๋‰ด๋กœ ์ด๋™
  3. "New token" ํด๋ฆญํ•˜์—ฌ ํ† ํฐ ์ƒ์„ฑ
  4. ์ƒ์„ฑ๋œ ํ† ํฐ์„ .env ํŒŒ์ผ์— ๋ณต์‚ฌ

4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

python app.py

๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:7860์œผ๋กœ ์ ‘์†ํ•˜์„ธ์š”.

๐ŸŒ Hugging Face Spaces ๋ฐฐํฌ

๋ฐฉ๋ฒ• 1: ์›น UI ์‚ฌ์šฉ

  1. Hugging Face Spaces์— ์ ‘์†
  2. "Create new Space" ํด๋ฆญ
  3. SDK๋กœ "Gradio" ์„ ํƒ
  4. ํŒŒ์ผ ์—…๋กœ๋“œ:
    • app.py
    • requirements.txt
    • README.md
  5. Settings โ†’ Repository secrets์—์„œ HF_TOKEN ์ถ”๊ฐ€
  6. ์ž๋™ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ ๋Œ€๊ธฐ

๋ฐฉ๋ฒ• 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-10์ดˆ)
  • ๋ฉ”๋ชจ๋ฆฌ: ๋ชจ๋ธ ํฌ๊ธฐ์— ๋”ฐ๋ผ 1-8GB RAM ํ•„์š”
  • ์ฒซ ์‹คํ–‰: ๋ชจ๋ธ ๋‹ค์šด๋กœ๋“œ๋กœ ์‹œ๊ฐ„ ์†Œ์š” (350MB~12GB)

๋ชจ๋ธ๋ณ„ ํŠน์„ฑ

  • ์˜์–ด ๋ชจ๋ธ: ํ•œ๊ธ€ ์ž…๋ ฅ ์‹œ ๋ถ€์ž์—ฐ์Šค๋Ÿฌ์šด ์‘๋‹ต
  • ํ•œ๊ธ€ ๋ชจ๋ธ: ์˜์–ด ์ž…๋ ฅ ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜
  • KoAlpaca 5.8B: 8GB+ RAM ํ•„์š”, CPU์—์„œ ๋งค์šฐ ๋А๋ฆผ

Hugging Face Spaces ๋ฐฐํฌ

  • ๋ฌด๋ฃŒ tier: CPU ์ธ์Šคํ„ด์Šค๋งŒ ์ œ๊ณต
  • Space Sleep: ๋น„ํ™œ์„ฑ ์‹œ ์ž๋™ sleep, ์ฒซ ๋กœ๋”ฉ ๋А๋ฆผ
  • ๋””์Šคํฌ ์ œํ•œ: KoAlpaca ๊ฐ™์€ ํฐ ๋ชจ๋ธ์€ ๋ฐฐํฌ ๋ถˆ๊ฐ€๋Šฅํ•  ์ˆ˜ ์žˆ์Œ

๐Ÿ”ง ๊ฐœ๋ฐœ ๋ฐ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

๋ชจ๋ธ ์ถ”๊ฐ€

app.py์˜ MODELS ๋”•์…”๋„ˆ๋ฆฌ์— ์ƒˆ ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

MODELS = {
    "your-model-id": {
        "name": "๋ชจ๋ธ ํ‘œ์‹œ ์ด๋ฆ„",
        "max_length": 512,
        "temperature": 0.7,
    },
}

UI ์ปค์Šคํ„ฐ๋งˆ์ด์ง•

Gradio Blocks์™€ ChatInterface๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ UI๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Gradio ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๐Ÿ“„ ๋ผ์ด์„ ์Šค

MIT License

๐Ÿ™‹โ€โ™‚๏ธ ์ง€์›

์ด์Šˆ๋‚˜ ์งˆ๋ฌธ์ด ์žˆ์œผ์‹œ๋ฉด GitHub Issues๋ฅผ ํ†ตํ•ด ๋ฌธ์˜ํ•ด์ฃผ์„ธ์š”.