NVIDIA-final-project Team 4
ํค์ค์คํฌ ๋ณด์กฐ ์ฑ๋ด
๊ณ ๋ น์ธต์ ํฌํจํ ๋์งํธ ์ทจ์ฝ๊ณ์ธต์ ๋์์ผ๋ก ํ๋ ํค์ค์คํฌ ๋ณด์กฐ ์ฑ๋ด ์๋น์ค๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค!
์์ฑ ์๋ด, ์์ฑ ๋ช
๋ น ๋ฐ ํน์ ์๋จ ํํฐ๋ง, ์ฃผ๋ฌธ ๋ด์ฉ ํ์ธ ๋ฑ ์ค์ง์ ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ์ฌ ํ์ฅ์์ ๋ฐ์ํ๋ ์ฃผ๋ฌธ ์ค๋ฅ๋ฅผ ์ต์ํํ๊ณ ์ฌ์ฉ์ฑ์ ๊ทน๋ํํฉ๋๋ค!
2025.08.18 ~ 2025.08.27
๐ง์ ๋ชฉ(๋งํฌ)๋ฅผ ํด๋ฆญํ์๋ฉด ํ๋ก์ ํธ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ Wiki๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค!!
๐ ํ๋ก์ ํธ ์๊ฐ
๊ฐ๋ฐ ๋ชฉํ ๋ฐ ๋ด์ฉ
๊ณ ๋ น์ธต์ ํฌํจํ ๋์งํธ ์ทจ์ฝ๊ณ์ธต์ ๋์์ผ๋ก ํค์ค์คํฌ ์์ฑ ๋ณด์กฐ ์ฑ๋ด ์๋น์ค๋ฅผ ๊ตฌํํ์ฌ, ๋ณต์กํ ์ฒญ์ฝ ์ ๋์ ์ ๊ทผ์ฑ์ ํฅ์์ํค๊ณ ํจ์จ์ ์ธ ์ฒญ์ฝ ํ๋ก์ธ์ค๋ฅผ ์ง์ํ๊ณ ์ํ๋ค.์ปดํจํฐ ๋น์ ๊ธฐ์ ๋ก ์ฌ์ฉ์์ ์ฐ๋ น๋๋ฅผ ์ถ์ ํ๊ณ , ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ ๊ทผ์ฑ ํฅ์ ๊ธฐ๋ฅ์ ๋จผ์ ์ ์ํ๋ ์ ์ ์ ์ง์ ๋ฐฉ์์ ๋์ ํ์ฌ ์ฐจ๋ณ์ ์ ๋์์ต๋๋ค.
์ฃผ์ ํ๊ฒ์ธต
- ๊ณ ๋ น์ธต(65์ธ ์ด์) ๋ฐ ๋์งํธ ์ทจ์ฝ๊ณ์ธต
- ์ฅ์ ์ธ ๋ฐ ์ ์ฒด์ ์ ์ฝ์ด ์๋ ์ฌ์ฉ์
- ํจ์คํธํธ๋์ ยท์นดํ ๋ฑ ํค์ค์คํฌ ํ์ฉ ์
์ฅ & ๊ด๋ฆฌ์
ํต์ฌ ๊ธฐ๋ฅ
- ์น์บ ์ ํตํ ์ปดํจํฐ ๋น์ ์ผ๋ก ์ฌ์ฉ์์ ์ฐ๋ น๋ ์ถ์
- 65์ธ ์ด์ ์ฌ์ฉ์๋ฅผ ์ํ '์ด๋ฅด์ ๋ง์ถค ๋ชจ๋' ์๋ ์ ํ
- ์์ฑ ์๋ด(TTS), ์ง๊ด์ ์์ฑ ๋ช
๋ น(STT) ์ ๊ณต
- ์์ฑ ๊ธฐ๋ฐ ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์์คํ
- ๋ฉ๋ด ๊ฒ์, ํํฐ๋ง, ์ฅ๋ฐ๊ตฌ๋ ๋ด๊ธฐ, ๊ฒฐ์ ๊น์ง ์์ฑ๋ง์ผ๋ก ์งํ
- ์๋ ๋ฅด๊ธฐยท๋น๊ฑด ํํฐ๋ง, ์์ ์ ๋ณด ํ์ธ ๊ธฐ๋ฅ ์ ๊ณต
- ์์ฐ์ด ๋ํ ๊ธฐ๋ฐ ์ถ์ฒ ๋ฐ ์ฃผ๋ฌธ ํ์ธ ์ง์
- ๋์ผํ menu.json ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ํ์ฅ์ฑ ํ๋ณด
๋ณด์กฐ ๊ธฐ๋ฅ
- ๋ต๋ณ ๋ฃ๊ธฐ(TTS) ๋ฒํผ : ๋ชจ๋ ํ ์คํธ๋ฅผ ์์ฑ์ผ๋ก ์๋ด- ๋ฉ๋ด ํํฐ๋ง ๊ธฐ๋ฅ : ์๋ ๋ฅด๊ธฐ, ์ฑ์, ์ ์ผ ๋ฑ ๊ฐ์ธ ๋ง์ถคํ ํํฐ ์ ๊ณต
- ์ฃผ๋ฌธ ๋ด์ญ ํ์ธ ๊ธฐ๋ฅ : ์์ฑ ๋๋ ์๊ฐ์ ์ผ๋ก ์ฃผ๋ฌธ ๋ด์ญ ๊ฒ์ฆ
- menu.json ๊ธฐ๋ฐ ํ์ฅ์ฑ : ๋ฐ์ดํฐ ๊ต์ฒด๋ง์ผ๋ก ํ๋์ฐจ์ด์ฆ๋ณ ์์ฌ์ด ์ ์ฉ
- ๋ค๊ตญ์ด ์ง์(ํ์ฅ ์์ ) : ์ธ๊ตญ์ธ ๊ณ ๊ฐ์ ์ํ ๋ค๊ตญ์ด STT/TTS ์ง์ ๊ฐ๋ฅ์ฑ
- ์น ๊ธฐ๋ฐ MVP : ํ๋ธ๋ฆฟ(iPad ๋ฑ)์์ ๋ฐ๋ก ์์ฐ ๊ฐ๋ฅ
๐ ํ๋ก์ ํธ ๊ฐ์
๋ฌธ์ ์ธ์ ๋ฐ ์์ธ
-
55์ธ ์ด์ ๊ณผ๋ฐ์ โํค์ค์คํฌ ์ด์ฉ ๋ถํธโโฆ โ๊ธ์จ ์๊ณ ์กฐ์ ์ด๋ ค์โ ์ถ์ฒ : ๋ฒ์กฐ์ ๋ฌธ(https://news.koreanbar.or.kr)

-
์๋น์ 46.6% ํค์ค์คํฌ ์ด์ฉ ์ค ๋ถํธยทํผํด ๊ฒฝํ์์ด์

ํด๊ฒฐ๋ฐฉ์
1. ์ ์ ์ ๋ง์ถคํ ์ ๊ทผ์ฑ ์ ๊ณต2. ์ฐ๋ น๋ ์ถ์ ๊ธฐ๋ฐ์ผ๋ก '์ด๋ฅด์ ๋ชจ๋'๋ฅผ ๋จผ์ ์ ์ํ์ฌ ์ฌ์ฉ ์ฅ๋ฒฝ ์ต์ํ
4. ๋ฉ๋ด ๊ฒ์๋ถํฐ ๊ฒฐ์ ๊น์ง ์์ฐ์ด ์์ฑ ๋ช ๋ น์ผ๋ก ์ฒ๋ฆฌ
5. ํ์ฅ์ฑ๊ณผ ๋น์ฉ ํจ์จ์ฑ ํ๋ณด
6. ์น ๊ธฐ๋ฐ Streamlit ๊ตฌํ์ผ๋ก ํ๋์จ์ด ์ข ์์ฑ ์ ๊ฑฐ
7. JSON ๊ต์ฒด๋ง์ผ๋ก ๋ค์ํ ๋งค์ฅ์ ํ์ฅ ์ ์ฉ ๊ฐ๋ฅ
8. ์ฌ์ฉ์ ์ค๋ฅ ๋ฐ ์ด์ ๋ถ๋ด ์ต์ํ
9. ์ฃผ๋ฌธ ์ค์ยท๋๊ธฐ์ด ์ง์ฐ ํด์
10. ๋งค์ฅ ์ด์ ํจ์จ ๋ฐ ๊ณ ๊ฐ ๋ง์กฑ๋ ๋์ ํฅ์
๊ธฐ๋ํจ๊ณผ
1. ์ฌ์ฉ์ ์ธก๋ฉด: ๋์งํธ ์ ๊ทผ์ฑ ํฅ์๊ณ ๋ น์ธต๊ณผ ๋์งํธ ์ทจ์ฝ๊ณ์ธต์ ์ฌ๋ฆฌ์ ์ฅ๋ฒฝ ํด์
์์ฑ ๊ธฐ๋ฐ ๊ฒฝํ์ ํตํ ๋์งํธ ์์ ๊ฐ ์ฆ๋
2. ๋น์ฆ๋์ค ์ธก๋ฉด: ์ด์ ํจ์จ ๋ฐ ๊ณ ๊ฐ ๋ง์กฑ๋ ์ ๊ณ
์ฃผ๋ฌธ ์ค๋ฅยท๋๊ธฐ ์๊ฐ ๋จ์ถ
์ง์์ ์๋ ๋ถ๋ด ๊ฐ์
์ ๊ณ ๊ฐ ๋ง์กฑ๋ ํฅ์
3. ๊ธฐ์ ์ธก๋ฉด: ๋์ ํ์ฅ์ฑ๊ณผ ์ ์ฉ์ฑ
์น ๊ธฐ๋ฐ ๊ตฌํ์ผ๋ก ์ ์ฉ ์ฅ๋น ๋ถํ์
๋ค์ํ ๋งค์ฅ์ ์ ๋น์ฉยท์ ์ ํ์ฅ ๊ฐ๋ฅ
4. ์ฌํ์ ์ธก๋ฉด: ๋์งํธ ํฌ์ฉ ์ฌํ ๊ธฐ์ฌ
์ทจ์ฝ๊ณ์ธต์ ์ ๋ณด ๊ฒฉ์ฐจ ํด์
AI๊ฐ ๋ฐฐ์ ๊ฐ ์๋ ํฌ์ฉ์ ์ํ ๊ธฐ์ ์ด๋ผ๋ ์ฌํ์ ๋ฉ์์ง ์ ๋ฌ
๐ ๊ธฐ์ ์ ์ธ ๋ถ๋ถ
integrated_kiosk_project/
โโโ 01_face_recognition_app.py # ์ผ๊ตด ์ธ์ ์ฑ (ํฌํธ 8501)
โโโ 02_normal_kiosk_app.py # ์ผ๋ฐ ํค์ค์คํฌ ์ฑ (ํฌํธ 8502)
โโโ 03_voice_kiosk_app.py # ์์ฑ ์ฃผ๋ฌธ ํค์ค์คํฌ ์ฑ (ํฌํธ 8503)
โโโ menu_data.py # ๋ฉ๋ด ๋ฐ์ดํฐ
โโโ requirements.txt # ํ์ํ ํจํค์ง ๋ชฉ๋ก
โโโ public/ # ๋ฉ๋ด ์ด๋ฏธ์ง ํ์ผ๋ค
โโโ README.md # ์ด ํ์ผ
๋จผ์ ํ์ํ ํจํค์ง๋ค์ ์ค์นํฉ๋๋ค:
pip install -r requirements.txt.env ํ์ผ์ ์์ฑํ๊ณ ๋ค์ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค:
# Face++ API (์ผ๊ตด ์ธ์์ฉ)
FACE_API_KEY=your_face_api_key_here
FACE_API_SECRET=your_face_api_secret_here
# OpenAI API (์์ฑ ์ฃผ๋ฌธ์ฉ)
OPENAI_API_KEY=your_openai_api_key_hereWindows์์ ํ ๋ฒ์ ๋ชจ๋ ์ฑ ์คํ:
run_all.batmacOS/Linux์์ ํ ๋ฒ์ ๋ชจ๋ ์ฑ ์คํ:
chmod +x run_all.sh
source venv/bin/activate && ./run_all.sh์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด:
- ์ผ๊ตด ์ธ์ ์ฑ (ํฌํธ 8501): ํฌ์ด๊ทธ๋ผ์ด๋์์ ์คํ๋๋ฉฐ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ์ด๋ฆผ
- ์ผ๋ฐ ํค์ค์คํฌ (ํฌํธ 8502): ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ (๋ธ๋ผ์ฐ์ ์๋ ์ด๋ฆผ ์์)
- ์์ฑ ์ฃผ๋ฌธ ํค์ค์คํฌ (ํฌํธ 8503): ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์คํ (๋ธ๋ผ์ฐ์ ์๋ ์ด๋ฆผ ์์)
๊ฐ๋ณ ์ฑ์ ํ ์คํธํ๊ณ ์ถ๋ค๋ฉด ๊ฐ๊ฐ ํฐ๋ฏธ๋์์ ์คํํ ์ ์์ต๋๋ค:
์ผ๊ตด ์ธ์ ์ฑ:
streamlit run 01_face_recognition_app.py --server.port 8501์ผ๋ฐ ํค์ค์คํฌ:
streamlit run 02_normal_kiosk_app.py --server.port 8502์์ฑ ์ฃผ๋ฌธ ํค์ค์คํฌ:
streamlit run 03_voice_kiosk_app.py --server.port 8503- ์์:
run_all.bat์คํ์ผ๋ก ๋ชจ๋ ์ฑ์ด ์๋์ผ๋ก ์์๋จ - ์ผ๊ตด ์ธ์ (ํฌํธ 8501): ์ฌ์ฉ์์ ์ผ๊ตด์ ์ธ์ํ์ฌ ๋์ด๋ฅผ ์ถ์
- ์๋ ๋ผ์ฐํ
:
- 65์ธ ๋ฏธ๋ง โ ์ผ๋ฐ ํค์ค์คํฌ (ํฌํธ 8502)๋ก ์๋ ์ด๋
- 65์ธ ์ด์ โ ์์ฑ ์ฃผ๋ฌธ ํค์ค์คํฌ (ํฌํธ 8503)๋ก ์๋ ์ด๋
- ์ฃผ๋ฌธ ๋ฐ ๊ฒฐ์ : ๊ฐ ํค์ค์คํฌ์์ ๋ฉ๋ด ์ ํ ๋ฐ ๊ฒฐ์ ์งํ
- ์๋ ๋ณต๊ท: ๊ฒฐ์ ์๋ฃ ํ 5์ด ๋ค ์๋์ผ๋ก ์ผ๊ตด ์ธ์ ํ์ด์ง๋ก ๋์๊ฐ
- ์ค์๊ฐ ์นด๋ฉ๋ผ๋ฅผ ํตํ ์ผ๊ตด ์ธ์
- Face++ API๋ฅผ ์ฌ์ฉํ ๋์ด ์ถ์
- ์๋ ๋ผ์ฐํ ๊ธฐ๋ฅ
- ํฐ์น ๊ธฐ๋ฐ ๋ฉ๋ด ์ ํ
- ์๋ ๋ฅด๊ธฐ ๋ฐ ์๋จ ํํฐ๋ง
- ์ฅ๋ฐ๊ตฌ๋ ๊ด๋ฆฌ
- ๊ฒฐ์ ์ฒ๋ฆฌ
- ์์ฑ ์ธ์ (STT) ๋ฐ ์์ฑ ํฉ์ฑ (TTS)
- AI ์ฑ๋ด์ ํตํ ์์ฐ์ด ์ฃผ๋ฌธ
- LangChain ๊ธฐ๋ฐ ๋ํ ์ฒ๋ฆฌ
- ์๊ฐ์ ๋ฉ๋ด์ ์์ฑ ์ฃผ๋ฌธ ๋ณํ
- ๋ฉ์ธ: ๋ฒ๊ฑฐ, ๋ฉ, ๋ณด์ธ, ์๋ฌ๋
- ์ฌ์ด๋: ๊ฐ์ํ๊น, ์น์ฆ์คํฑ
- ์๋ฃ: ์ฝ๋ผ, ์ฌ์ด๋ค
- ๋์ ํธ: ์์ด์คํฌ๋ฆผ, ํฅ๋น์
๊ฐ ๋ฉ๋ด์๋ ์๋ ๋ฅด๊ธฐ ์ ๋ณด, ์๋จ ์ ๋ณด, ๊ฐ๊ฒฉ, ์กฐ๋ฆฌ์๊ฐ ๋ฑ์ด ํฌํจ๋์ด ์์ต๋๋ค.
- Windows ํ๊ฒฝ์์๋ง ์คํ ๊ฐ๋ฅ
- PowerShell์ด๋ ๋ช ๋ น ํ๋กฌํํธ์์ ์คํ
- ๊ถํ ๋ฌธ์ ์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํ
- ๋ง์ดํฌ ๊ถํ ํ์ธ
- PyAudio ์ค์น ๋ฌธ์ ์:
pip install pipwinํpipwin install pyaudio
- ์นด๋ฉ๋ผ ๊ถํ ํ์ธ
- Face++ API ํค ์ค์ ํ์ธ
- ๋ค๋ฅธ ํฌํธ ์ฌ์ฉ:
--server.port 8504๋ฑ์ผ๋ก ๋ณ๊ฒฝ - ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฑ ์ ์: ๋ธ๋ผ์ฐ์ ์์
http://localhost:8502๋๋http://localhost:8503์ง์ ์ ์
๐ ํ๋ก์ ํธ ๋ฌธ์
ํ๋ก์ ํธ ๊ธฐํ์
๋ค์ด์ด๊ทธ๋จ
์ด๋ฒ ํ๋ก์ ํธ๋ '๋์งํธ ์์ธ ๊ณ์ธต์ ๋๋๋ค'๋ ์๋ฏธ ์๋ ๋ชฉํ ๋๋ถ์ ๊ฐ๋ฐ ๊ณผ์ ๋ด๋ด ๋ณด๋์ ๋๋ ์ ์์์ต๋๋ค. ๊ธฐ์ ์ ์ผ๋ก๋ GitHub๋ฅผ ์ด์ฉํ ํ์ , ํฐ๋ฏธ๋, API ํค ๊ด๋ฆฌ, Streamlit์ ํ์ฉํ์ฌ ๋ฐฐ์ ๋ ๊ฐ๋ฐ ๊ธฐ์ ๋ค์ ์ง์ ๊ฒฝํํ๋ ๊ฐ์ง ์๊ฐ์ด์์ต๋๋ค. ๊ธฐ์ ์ ์ฑ์ฅ, ๋ค์ํ ๊ฒฝํ๊ณผ ๊ฐ๋ฐ์ ๋๊ธฐ๋ฅผ ํจ๊ป ์ป์ ์ข์ ๊ฒฝํ์ด์์ต๋๋ค.
ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ง์ง ๋ชปํด ํจ์จ์ ์ธ ์ ๋ฌด ๋ถ๋ด์ ํ์ง ๋ชปํ ๊ฒ ๊ฐ์ ์์ฌ์ ๊ณ , ์ธ๋ถ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ง๊ธฐ ์ํด์ ํญ๋๊ณ ๊น์ ์ง์์ด ํ์ํ ๊ฒ ๊ฐ์ ๊ฐ์ธ์ ์ธ ๋ถ์กฑํจ์ ๋ง์ด ๋๋.
์ด๋ก ์ผ๋ก ๋ฐฐ์ฐ๋ ๋ด์ฉ์ ์ค์ ๋ก ๊ตฌํํ๊ธฐ ์ํ ์๋์ ์๋ฏธ๋ฅผ ๋ . ์ฒด๊ณ์ ์ธ ์ค๊ณ ํ์์ฑ์ ์ฒด๊ฐํจ.
์๋ฌด๋ฆฌ AI๊ฐ ์ฝ๋๋ฅผ ๋์ ์์ฑํด ์ค๋ค ํด๋ ๊ฒฐ๊ตญ ๊ฐ๋ฐ์๊ฐ ๊ทธ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ์ถฉ๋ถํ ์ดํดํ์ง ๋ชปํ๋ฉด ํ ๋จ๊ณ์ฉ ๋์๊ฐ ๋๋ง๋ค ๋ฒฝ์ ๋ถ๋ชํ๊ฒ ๋๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ๋งํ์ ์๊ฐ์ด ๋ถ์กฑํด ์ ๋๋ก ๊ตฌํํ์ง ๋ชปํ ์๋ ๋ฅด๊ธฐ ํํฐ ๊ธฐ๋ฅ๊ณผ ์ธ๊ตญ์ธ ๋ฒ์ ๊น์ง ๊ตฌํํ๋ค๋ฉด ์์ฑ๋๋ฅผ ๋ ๋์ผ ์ ์์ ๊ฒ ๊ฐ๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊ธฐ์ด ๊ฐ๋ ์ ํผํผํ ํด์ผ ์์ฉ์ด ์์ํ๋ค๋ ๊ฑธ ๊นจ๋ฌ์๊ณ , ์ด๋ฒ ๊ฒฝํ์ ํตํด ์ํต์ ์ค์์ฑ๋ ์ค๊ฐํ๋ค. ์์ผ๋ก๋ ๊ฒฐ๊ณผ์ ๊ธ๊ธํ๊ธฐ๋ณด๋ค ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋จผ์ ๋ค์ง๊ณ , ๋งค์ผ ํต์ฌ ๊ฐ๋ ์ ๋ณต์ตํ๋ ์ต๊ด์ ์ค์ฒํ๊ฒ ๋ค. ๋๋ถ์ด ํ๋ก์ ํธ์ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๋ฉฐ ์ํต์๋ ํ์จ์ผ๊ฒ ๋ค.
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ LLM๊ณผ LangChain์ ์ง์ ํ์ฉํด๋ณผ ์ ์์ด ์๋ฏธ ์๋ ๊ฒฝํ์ด์์ต๋๋ค. ๋ค๋ง, ์งง์ ๊ธฐ๊ฐ์ผ๋ก ์ธํด ํ๋ก ํธ์๋์ ๋ฐฑ์๋๋ฅผ ์์ ํ ์ฐ๋ํ์ง ๋ชปํ ์ ์ ์์ฌ์์ผ๋ก ๋จ์ต๋๋ค.






