Spaces:
Running
Running
title: First Chatbot | |
emoji: ๐ค | |
colorFrom: indigo | |
colorTo: pink | |
sdk: streamlit | |
sdk_version: 1.44.0 | |
app_file: app.py | |
pinned: false | |
short_description: A simple chatbot using Streamlit and Hugging Face. | |
# ๐ค ๋๋ง์ ๊ฐ์ธ ์ฑ๋ด | |
Hugging Face ๋ชจ๋ธ๊ณผ Streamlit์ ์ฌ์ฉํ์ฌ ๋ง๋ ๊ฐ๋จํ ๋ํํ ์ฑ๋ด์ ๋๋ค. ์ฌ์ด๋๋ฐ์์ AI์ ์ฑ๊ฒฉ, ์์ ๋ฉ์์ง, ์๋ฐํ ๋ฑ์ ์ง์ ์ค์ ํ๊ณ AI์ ๋ํ๋ฅผ ๋๋ ์ ์์ต๋๋ค. | |
## โจ ์ฃผ์ ๊ธฐ๋ฅ | |
- **๐ฌ ์ค์๊ฐ ์ฑํ ์ธํฐํ์ด์ค**: ์ฌ์ฉ์์ AI๊ฐ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊น๋ํ UI. | |
- **๐ง ์์ฌ์ด ์ค์ **: ์ฌ์ด๋๋ฐ์์ ์์คํ ๋ฉ์์ง, ์์ ๋ฉ์์ง, ์ต๋ ์๋ต ๊ธธ์ด๋ฅผ ์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. | |
- **๐จ ์ปค์คํ ์๋ฐํ**: ์ฌ์ฉ์์ AI์ ์๋ฐํ๋ฅผ ์ํ๋ ์ด๋ชจํฐ์ฝ์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. | |
- **๐ง ์ ์ฐํ ๋ชจ๋ธ ์ฌ์ฉ**: Hugging Face์ ์๋ ๋ค์ํ ์ธ์ด ๋ชจ๋ธ(`MODEL_ID` ๋ณ๊ฒฝ)์ ํ์ฉํ ์ ์์ต๋๋ค. | |
- **๐ ๋ํ ์ด๊ธฐํ**: ๋ฒํผ ํด๋ฆญ ํ ๋ฒ์ผ๋ก ๋ํ ๊ธฐ๋ก์ ์ด๊ธฐํํ๊ณ ์ ๋ํ๋ฅผ ์์ํ ์ ์์ต๋๋ค. | |
## ๐ ๏ธ ์์ํ๊ธฐ | |
### 1. ํ๊ฒฝ ์ค์ | |
์ด ํ๋ก์ ํธ๋ `uv`์ ๊ฐ์ ๊ฐ์ ํ๊ฒฝ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. | |
๋จผ์ , ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ์ธ์. | |
```bash | |
uv pip install -r requirements.txt | |
``` | |
### 2. Hugging Face ํ ํฐ ์ค์ | |
ํ๋ก์ ํธ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์ `.env` ํ์ผ์ ์์ฑํ๊ณ , ์ฌ๋ฌ๋ถ์ Hugging Face API ํ ํฐ์ ์ถ๊ฐํ์ธ์. ํ ํฐ์ [Hugging Face ์ค์ ](https://huggingface.co/settings/tokens)์์ ๋ฐ๊ธ๋ฐ์ ์ ์์ต๋๋ค. | |
``` | |
HF_TOKEN="ใใใซHugging Faceใฎใใผใฏใณใ่ฒผใไปใใฆใใ ใใ" | |
``` | |
### 3. ์ ํ๋ฆฌ์ผ์ด์ ์คํ | |
ํฐ๋ฏธ๋์์ ์๋ ๋ช ๋ น์ด๋ฅผ ์คํํ์ฌ Streamlit ์ฑ์ ์์ํ์ธ์. | |
```bash | |
uv run streamlit run app.py | |
``` | |
์ฑ์ด ์คํ๋๋ฉด ์น ๋ธ๋ผ์ฐ์ ์์ ๋ก์ปฌ ์ฃผ์(์: `http://localhost:8501`)๊ฐ ์ด๋ฆฝ๋๋ค. | |
## ๐ ์ฝ๋ ๊ตฌ์กฐ | |
`app.py` ํ์ผ์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํด ๊ธฐ๋ฅ๋ณ๋ก ๋ชจ๋ํ๋์์ต๋๋ค. | |
- **์์ ์ ์**: `MODEL_ID`, `PROMPT_TEMPLATE` ๋ฑ ์ฃผ์ ์ค์ ๊ฐ์ ํ์ผ ์๋จ์์ ๊ด๋ฆฌํฉ๋๋ค. | |
- **LLM ๋ฐ ์ฒด์ธ ์ค์ (`get_llm`, `get_chain`)**: Hugging Face ๋ชจ๋ธ์ ๋ก๋ํ๊ณ , LangChain์ผ๋ก ํ๋กฌํํธ์ ๋ชจ๋ธ์ ์ฐ๊ฒฐํ๋ ์ฒด์ธ์ ์์ฑํฉ๋๋ค. | |
- **UI ๋ ๋๋ง (`initialize_session_state`, `setup_sidebar`, `display_chat_history`)**: Streamlit์ ์ธ์ ์ํ๋ฅผ ์ด๊ธฐํํ๊ณ , ์ฌ์ด๋๋ฐ์ ์ฑํ ๊ธฐ๋ก UI๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. | |
- **๋ฉ์ธ ๋ก์ง (`generate_response`, `main`)**: ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์ AI์ ์๋ต์ ์์ฑํ๊ณ , ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ฆ์ ์ ์ดํฉ๋๋ค. | |
## ๐ ์ฐธ๊ณ ์๋ฃ | |
- [Creating Your Personal Chatbot Using Hugging Face Spaces and Streamlit](https://medium.com/@james.irving.phd/creating-your-personal-chatbot-using-hugging-face-spaces-and-streamlit-596a54b9e3ed) | |
- [Hugging Face Spaces Configuration Reference](https.huggingface.co/docs/hub/spaces-config-reference) | |