Spaces:
Running
Running
File size: 3,085 Bytes
fc02665 0e3780a fc02665 0e3780a fc02665 0e3780a 1b3c845 0e3780a 1b3c845 0e3780a 1b3c845 0e3780a 1b3c845 0e3780a 1b3c845 0e3780a 1b3c845 0e3780a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
---
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)
|