Spaces:
No application file
No application file
RAG5_2_ChooseLLM ํ๋ก์ ํธ ๊ณํ์
ํ๋ก์ ํธ ๊ฐ์
์ด ํ๋ก์ ํธ๋ RAG(Retrieval-Augmented Generation) ๊ธฐ๋ฐ ๊ฒ์ ์ฑ๋ด์ผ๋ก, ์ง์๋ฒ ์ด์ค์์ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ฒ์ํ์ฌ ์ฌ์ฉ์ ์ง์์ ๋ต๋ณํฉ๋๋ค. ์ฃผ์ ํน์ง์ผ๋ก๋ OpenAI์ DeepSeek ๋ฑ ๋ค์ํ LLM์ ์ ํํ์ฌ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ๊ณผ ์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ
์ง์๋ฒ ์ด์ค ๊ด๋ฆฌ
- ๋ฌธ์ ์ ๋ก๋ (.txt, .md, .csv ๋ฑ)
- ๋ฌธ์ ์ฒญํฌ ๋ถํ ๋ฐ ๋ฒกํฐ ์ธ๋ฑ์ฑ
- ์ง์๋ฒ ์ด์ค ๋ฌธ์ ๋ชฉ๋ก ์กฐํ
LLM ์ ํ
- OpenAI, DeepSeek ๋ฑ ๋ค์ํ LLM ์ ํ ๊ฐ๋ฅ
- LLM ๋ณ๊ฒฝ ์ ์ค์๊ฐ ์ ํ
- ํ์ฌ ์ฌ์ฉ ์ค์ธ LLM ์ ๋ณด ํ์
์ฑ๋ด ๊ธฐ๋ฅ
- ํ ์คํธ ๊ธฐ๋ฐ ์ง์์๋ต
- ์์ฑ ์ธ์ ๋ฐ ์ง์์๋ต (VITO STT ํ์ฉ)
- ๊ฒ์ ๊ฒฐ๊ณผ ์ ๋ณด ์ถ์ฒ ํ์
์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ๋ก์ปฌ PC์ ํต์ ํ๋ ๊ธฐ๋ฅ
- ์ฅ์น ์ํ ํ์ธ ๋ฐ ์ฅ์น ๋ชฉ๋ก ์กฐํ
- ํ๋ก๊ทธ๋จ ๋ชฉ๋ก ์กฐํ ๋ฐ ์คํ
๊ธฐ์ ์คํ
- ๋ฐฑ์๋: Flask (Python)
- ํ๋ก ํธ์๋: HTML, CSS, JavaScript
- LLM ํตํฉ: OpenAI API, DeepSeek API
- ๊ฒ์ ๊ธฐ๋ฅ: ๋ฒกํฐ ๊ฒ์, ์ฌ์์ํ
- STT ์๋น์ค: VITO API
- ํต์ ํ๋กํ ์ฝ: RESTful API
์๋ฃ๋ ์์
- ํ๋ก์ ํธ ๊ธฐ๋ณธ ๊ตฌ์กฐ ์ค์
- Flask ์น ์๋ฒ ๊ตฌํ
- ๋ค์ค LLM ์ธํฐํ์ด์ค ๊ตฌํ (OpenAI, DeepSeek)
- ์ฌ์ฉ์ ์ธ์ฆ ๊ธฐ๋ฅ ๊ตฌํ
- ๋ฒกํฐ ๊ฒ์ ๋ฐ ์ฌ์์ํ ๊ธฐ๋ฅ ๊ตฌํ
- ๋ฌธ์ ์ฒ๋ฆฌ ๋ฐ ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ตฌํ
- ์น ์ธํฐํ์ด์ค ๊ตฌํ
- ์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฅ ํตํฉ
- ์ฅ์น ๊ด๋ฆฌ UI ๊ตฌํ
์งํํด์ผ ํ ์์
- LLM ์ ํ UI ๊ฐ์
- ๋๋กญ๋ค์ด์ ์์ด์ฝ ์ถ๊ฐ
- ๊ฐ LLM๋ณ ์์ธ ๋ชจ๋ธ ์ ๋ณด ํ์
- ์๋ต ๋ด ์์ค ๋งํฌ ํด๋ฆญ ์ ์๋ฌธ ํ์ ๊ธฐ๋ฅ
- ์๋ต ์๋ ๊ฐ์
- ์ค๋ฅ ์ฒ๋ฆฌ ๊ฐํ
- ํ ์คํธ ์ผ์ด์ค ์์ฑ ๋ฐ ์ ๋ ํ ์คํธ ๊ตฌํ
- ์ฌ์ฉ์ ๊ฐ์ด๋ ๋ฌธ์ ์์ฑ
ํตํฉ ๊ตฌํ ๋ด์ฉ
1. ์น์ฑ ํตํฉ
- ๋จ์ผ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ RAG ๊ฒ์ ์ฑ๋ด๊ณผ ์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฅ ํตํฉ
- ํญ ๊ธฐ๋ฐ ์ธํฐํ์ด์ค๋ก ๊ธฐ๋ฅ ๋ถ๋ฆฌ (๋ํ, ๋ฌธ์๊ด๋ฆฌ, ์ฅ์น๊ด๋ฆฌ)
- Flask๋ฅผ ํตํ ์ค์ ์ง์ค์ ์๋ฒ ๊ด๋ฆฌ
2. ์ฅ์น ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ์ฅ์น ์ํ ํ์ธ ๊ธฐ๋ฅ
- ์ฐ๊ฒฐ๋ ์ฅ์น ๋ชฉ๋ก ์กฐํ
- ์คํ ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ ๋ชฉ๋ก ์กฐํ ๋ฐ ์คํ
- ์๋ฒ์์ RESTful API ํต์
3. ํ๋ก ํธ์๋ ๊ตฌํ
- ์ง๊ด์ ์ธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- ์ค์๊ฐ ์ํ ์ ๋ฐ์ดํธ
- ์๋ฌ ์ฒ๋ฆฌ ๋ฐ ์ฌ์ฉ์ ํผ๋๋ฐฑ ์ ๊ณต
- ๋ฐ์ํ ๋์์ธ ์ ์ฉ
ํ์ผ ๊ตฌ์กฐ
RAG5_2_ChooseLLM/
โโโ app/
โ โโโ app.py # ๋ฉ์ธ Flask ์ ํ๋ฆฌ์ผ์ด์
โ โโโ app_routes.py # ๊ธฐ๋ณธ ๋ผ์ฐํธ ์ ์
โ โโโ app_device_routes.py # ์ฅ์น ๊ด๋ฆฌ ๊ด๋ จ ๋ผ์ฐํธ
โ โโโ static/
โ โ โโโ css/
โ โ โ โโโ style.css # ์คํ์ผ์ํธ
โ โ โโโ js/
โ โ โโโ app.js # ๋ฉ์ธ JavaScript
โ โ โโโ app-device.js # ์ฅ์น ๊ด๋ฆฌ JavaScript
โ โโโ templates/
โ โโโ index.html # ๋ฉ์ธ ํ์ด์ง ํ
ํ๋ฆฟ
โ โโโ login.html # ๋ก๊ทธ์ธ ํ์ด์ง ํ
ํ๋ฆฟ
โโโ data/ # ์
๋ก๋๋ ๋ฌธ์ ์ ์ฅ
โโโ docs/ # ํ๋ก์ ํธ ๋ฌธ์
โโโ retrieval/ # ๊ฒ์ ๊ด๋ จ ๋ชจ๋
โโโ utils/ # ์ ํธ๋ฆฌํฐ ๋ชจ๋
ํ๊ฒฝ ๋ณ์ ์ค์
ADMIN_USERNAME
: ๊ด๋ฆฌ์ ์ฌ์ฉ์๋ช (๊ธฐ๋ณธ๊ฐ: admin)ADMIN_PASSWORD
: ๊ด๋ฆฌ์ ๋น๋ฐ๋ฒํธ (๊ธฐ๋ณธ๊ฐ: rag12345)DEVICE_SERVER_URL
: ์ฅ์น ๊ด๋ฆฌ ์๋ฒ URL (๊ธฐ๋ณธ๊ฐ: http://localhost:5050)OPENAI_API_KEY
: OpenAI API ํคDEEPSEEK_API_KEY
: DeepSeek API ํคVITO_API_KEY
: VITO STT API ํค
์ฐธ๊ณ ์ฌํญ
- ์ฅ์น ๊ด๋ฆฌ ์๋ฒ๋ ๋ณ๋๋ก ์คํ๋์ด์ผ ํจ (ํฌํธ 5050)
- OpenAI, DeepSeek ๋ฐ VITO API ํค๋ .env ํ์ผ์ ์ค์ ํด์ผ ํจ
- ์ด๊ธฐ ๋ก๊ทธ์ธ ๊ณ์ ์ ๋ณด๋ ํ๊ฒฝ ๋ณ์์ ์ค์ ํ๊ฑฐ๋ ๊ธฐ๋ณธ๊ฐ ์ฌ์ฉ