# ๐Ÿค– SmartBot KR โ€” ๋ˆ„๊ตฌ๋‚˜ ์“ฐ๋Š” AI ์ฑ—๋ด‡ ํ”Œ๋žซํผ > **์ฝ”๋”ฉ ๋ชฐ๋ผ๋„ ๋ฉ๋‹ˆ๋‹ค.** ์„ค์น˜๋ถ€ํ„ฐ ์šด์˜๊นŒ์ง€ ํ•œ ๋ฒˆ์—. ์นด์นด์˜คํ†ก ์ฑ„ํŒ…, ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ์œผ๋กœ ๊ณ ๊ฐ ์งˆ๋ฌธ์— AI๊ฐ€ ์ž๋™์œผ๋กœ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค. ์ง€์ž์ฒดยท์Œ์‹์ ยท์‡ผํ•‘๋ชฐยท๋ณ‘์›ยทํ•™์› ๋“ฑ **์–ด๋–ค ์กฐ์ง์ด๋“  ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ**ํ•ฉ๋‹ˆ๋‹ค. --- ## ์ด๋Ÿฐ ๋ถ„๊ป˜ ๋”ฑ ๋งž์Šต๋‹ˆ๋‹ค | ์‚ฌ์šฉ์ฒ˜ | ํ™œ์šฉ ์˜ˆ์‹œ | |--------|-----------| | ๐Ÿ›๏ธ **์ง€์ž์ฒดยท๊ณต๊ณต๊ธฐ๊ด€** | ๋ฏผ์› ์•ˆ๋‚ด, ์„œ๋ฅ˜ ๋ฐœ๊ธ‰ ๋ฐฉ๋ฒ•, ๋‹ด๋‹น๋ถ€์„œ ์—ฐ๊ฒฐ | | ๐Ÿฝ๏ธ **์Œ์‹์ ยท์นดํŽ˜** | ๋ฉ”๋‰ด ๋ฌธ์˜, ์˜์—…์‹œ๊ฐ„, ์˜ˆ์•ฝ, ์ฃผ์ฐจ ์•ˆ๋‚ด | | ๐Ÿ›๏ธ **์‡ผํ•‘๋ชฐยท์˜จ๋ผ์ธ๋ชฐ** | ๋ฐฐ์†ก ์กฐํšŒ, ๊ตํ™˜ยทํ™˜๋ถˆ ์ •์ฑ…, ์ƒํ’ˆ ๋ฌธ์˜ | | ๐Ÿฅ **๋ณ‘์›ยท์˜์›ยท์•ฝ๊ตญ** | ์ง„๋ฃŒ์‹œ๊ฐ„, ์˜ˆ์•ฝ ๋ฐฉ๋ฒ•, ๋ณดํ—˜ ์•ˆ๋‚ด | | ๐ŸŽ“ **ํ•™์›ยท๊ต์œก๊ธฐ๊ด€** | ์ˆ˜์—… ์ผ์ •, ์ˆ˜๊ฐ•๋ฃŒ, ์ž…ํ•™ ์ƒ๋‹ด | | ๐Ÿข **์ผ๋ฐ˜ ๊ธฐ์—…** | ๊ณ ๊ฐ CS ์ž๋™ํ™”, ์‚ฌ๋‚ด FAQ ๋ด‡ | --- ## โœจ ์ฃผ์š” ๊ธฐ๋Šฅ | ๊ธฐ๋Šฅ | ์„ค๋ช… | |------|------| | ๐Ÿ’ฌ **์นด์นด์˜คํ†ก ์—ฐ๋™** | ์นด์นด์˜ค i ์˜คํ”ˆ๋นŒ๋” ์Šคํ‚ฌ ์„œ๋ฒ„๋กœ ๋ฐ”๋กœ ์—ฐ๊ฒฐ | | ๐ŸŒ **ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ** | ์ฝ”๋“œ ํ•œ ์ค„๋กœ ์–ด๋А ํ™ˆํŽ˜์ด์ง€์—๋‚˜ ์‚ฝ์ž… | | โ“ **FAQ ์ž๋™ ๋‹ต๋ณ€** | ๋“ฑ๋กํ•œ FAQ๋ฅผ AI๊ฐ€ ์œ ์‚ฌ๋„๋กœ ๋งค์นญํ•ด ์ฆ‰์‹œ ๋‹ต๋ณ€ | | ๐Ÿ“„ **๋ฌธ์„œ ํ•™์Šต** | PDFยทWord ํŒŒ์ผ ์—…๋กœ๋“œ โ†’ AI๊ฐ€ ์ž๋™์œผ๋กœ ํ•™์Šต | | ๐Ÿค– **LLM ์—ฐ๋™** | ClaudeยทGPT ์—ฐ๊ฒฐ ์‹œ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด ๋‹ต๋ณ€ (์„ ํƒ) | | ๐Ÿ“Š **๊ด€๋ฆฌ ๋Œ€์‹œ๋ณด๋“œ** | ํ†ต๊ณ„ยทFAQยท๋ฌธ์„œยท๋Œ€ํ™”์ด๋ ฅ ํ•œ๋ˆˆ์— ๊ด€๋ฆฌ | | ๐Ÿ”’ **๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ** | ๊ณ ๊ฐ ๋ฐœํ™” ์ž๋™ ๋งˆ์Šคํ‚น, ์›๋ฌธ ๋ฏธ์ €์žฅ | | ๐Ÿข **๋ฉ€ํ‹ฐ ์กฐ์ง ์ง€์›** | ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋กœ ์—ฌ๋Ÿฌ ๋งค์žฅ/์ง€์  ๊ฐ๊ฐ ์šด์˜ | --- ## ๐Ÿš€ 5๋ถ„ ์„ค์น˜ ### Linux / macOS ```bash git clone https://github.com/sinmb79/Gov-chat-bot.git cd Gov-chat-bot chmod +x install.sh ./install.sh ``` > **Windows ์‚ฌ์šฉ์ž** โ†’ [Windows ์„ค์น˜ ๊ฐ€์ด๋“œ](docs/WSL2_๊ฐ€์ด๋“œ.md) ### ์„ค์น˜ ํ›„ ์ ‘์† ``` ๊ด€๋ฆฌ์ž ํ™”๋ฉด: http://localhost:3000 API ๋ฌธ์„œ: http://localhost:8000/docs ``` --- ## ๐Ÿ“‹ ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ | ํ•ญ๋ชฉ | ์ตœ์†Œ | |------|------| | OS | Ubuntu 20.04+ / macOS 13+ / Windows 11 (WSL2) | | RAM | 4GB | | ๋””์Šคํฌ | 20GB | | Docker | 24.x ์ด์ƒ | | ์ธํ„ฐ๋„ท | ์„ค์น˜ ์‹œ ํ•„์š” (์ดํ›„ ์˜คํ”„๋ผ์ธ ์šด์˜ ๊ฐ€๋Šฅ) | --- ## ๐Ÿ“– ์‚ฌ์šฉ ๋ฐฉ๋ฒ• ### 1๋‹จ๊ณ„ โ€” ๊ด€๋ฆฌ์ž ๊ณ„์ • ๋งŒ๋“ค๊ธฐ ```bash docker compose exec backend python -m app.scripts.create_admin ``` ์กฐ์ง ID(์˜๋ฌธ), ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์™„๋ฃŒ. ### 2๋‹จ๊ณ„ โ€” FAQ ๋“ฑ๋กํ•˜๊ธฐ 1. http://localhost:3000 ์—์„œ ๋กœ๊ทธ์ธ 2. **FAQ ๊ด€๋ฆฌ** โ†’ **+ FAQ ์ถ”๊ฐ€** 3. ์นดํ…Œ๊ณ ๋ฆฌ, ์งˆ๋ฌธ, ๋‹ต๋ณ€ ์ž…๋ ฅ โ†’ ์ €์žฅ > **ํŒ**: ๊ฐ™์€ ๋œป์ด์ง€๋งŒ ํ‘œํ˜„์ด ๋‹ค๋ฅธ ์งˆ๋ฌธ์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋“ฑ๋กํ• ์ˆ˜๋ก ์ธ์‹๋ฅ ์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. > - "์˜์—…์‹œ๊ฐ„์ด์š”?" / "๋ช‡์‹œ์— ์—ด์–ด์š”?" / "์˜ค๋Š˜ ์–ธ์ œ๊นŒ์ง€ ํ•ด์š”?" โ†’ ๊ฐ™์€ ๋‹ต๋ณ€์œผ๋กœ ๋“ฑ๋ก ### 3๋‹จ๊ณ„ โ€” ๋ฌธ์„œ ์—…๋กœ๋“œํ•˜๊ธฐ (์„ ํƒ) ์ž์ฃผ ๋ฌป๋Š” ๋‚ด์šฉ์ด ๋‹ด๊ธด PDF, Word ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ฉด AI๊ฐ€ ์ž๋™์œผ๋กœ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. 1. **๋ฌธ์„œ ๊ด€๋ฆฌ** โ†’ **+ ๋ฌธ์„œ ์—…๋กœ๋“œ** 2. ํŒŒ์ผ ์„ ํƒ (PDF ยท Word ยท ํ…์ŠคํŠธ) 3. ์ฒ˜๋ฆฌ ์™„๋ฃŒ ํ›„ **์Šน์ธ** ํด๋ฆญ ### 4๋‹จ๊ณ„ โ€” ํ…Œ์ŠคํŠธํ•˜๊ธฐ **์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ** ๋ฉ”๋‰ด์—์„œ ์‹ค์ œ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•ด ๋‹ต๋ณ€์„ ๋ฏธ๋ฆฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### 5๋‹จ๊ณ„ โ€” ํ™ˆํŽ˜์ด์ง€์— ์œ„์ ฏ ๋‹ฌ๊ธฐ ํ™ˆํŽ˜์ด์ง€ HTML์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ```html ``` --- ## โš™๏ธ ํ™˜๊ฒฝ ์„ค์ • ```bash # ์„ค์ • ํŒŒ์ผ ๋ณต์‚ฌ cp .env.example .env # ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ ์—ด์–ด์„œ ์ˆ˜์ • nano .env # ๋˜๋Š” ๋ฉ”๋ชจ์žฅ์œผ๋กœ ์—ด๊ธฐ ``` **๋ฐ˜๋“œ์‹œ ๋ฐ”๊ฟ”์•ผ ํ•  ํ•ญ๋ชฉ:** | ํ•ญ๋ชฉ | ์„ค๋ช… | |------|------| | `SECRET_KEY` | ๋ณด์•ˆ ํ‚ค (์•„๋ฌด ๊ธด ๋ฌธ์ž์—ด, 32์ž ์ด์ƒ) | **์„ ํƒ ํ•ญ๋ชฉ (LLM ์—ฐ๊ฒฐ):** | ํ•ญ๋ชฉ | ์„ค๋ช… | |------|------| | `LLM_PROVIDER=anthropic` | Claude AI ์‚ฌ์šฉ | | `ANTHROPIC_API_KEY=...` | Claude API ํ‚ค | | `LLM_PROVIDER=openai` | ChatGPT ์‚ฌ์šฉ | | `OPENAI_API_KEY=...` | OpenAI API ํ‚ค | > LLM ์—†์ด๋„ FAQ + ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€์ด ์ถฉ๋ถ„ํžˆ ์ž˜ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” LLM ์—†์ด ์‹œ์ž‘ํ•˜์„ธ์š”. --- ## ๐Ÿ—๏ธ ๋™์ž‘ ์›๋ฆฌ ๊ณ ๊ฐ์ด ์งˆ๋ฌธํ•˜๋ฉด ์•„๋ž˜ ์ˆœ์„œ๋กœ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋‹ต๋ณ€์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ``` ๊ณ ๊ฐ ์งˆ๋ฌธ โ”‚ โ–ผ โ‘  FAQ ๊ฒ€์ƒ‰ (๋“ฑ๋ก๋œ FAQ์™€ ์œ ์‚ฌ๋„ ๋น„๊ต) โ”‚ ๋น„์Šทํ•œ FAQ ์žˆ์Œ โ†’ ์ฆ‰์‹œ ๋‹ต๋ณ€ โ”‚ ์—†์Œ โ†“ โ–ผ โ‘ก ๋ฌธ์„œ ๊ฒ€์ƒ‰ (์—…๋กœ๋“œํ•œ ํŒŒ์ผ์—์„œ ๊ด€๋ จ ๋‚ด์šฉ ์ถ”์ถœ) โ”‚ ๊ด€๋ จ ๋‚ด์šฉ ์žˆ์Œ + LLM ์—ฐ๊ฒฐ๋จ โ†’ AI๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์žฌ์„œ์ˆ  โ”‚ ๊ด€๋ จ ๋‚ด์šฉ ์žˆ์Œ + LLM ์—†์Œ โ†’ ๋ฌธ์„œ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ์•ˆ๋‚ด โ”‚ ์—†์Œ โ†“ โ–ผ โ‘ข ๋‹ด๋‹น์ž ์•ˆ๋‚ด (์„ค์ •ํ•œ ์—ฐ๋ฝ์ฒ˜๋กœ ์•ˆ๋‚ด) ``` --- ## ๐Ÿ“ ํŒŒ์ผ ๊ตฌ์กฐ ``` Gov-chat-bot/ โ”œโ”€โ”€ backend/ # AI ์„œ๋ฒ„ (์ž๋™ ๊ด€๋ฆฌ, ์ง์ ‘ ์ˆ˜์ • ๋ถˆํ•„์š”) โ”œโ”€โ”€ frontend/ # ๊ด€๋ฆฌ์ž ํ™”๋ฉด (์ž๋™ ๊ด€๋ฆฌ) โ”‚ โ””โ”€โ”€ widget/ # ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ ํŒŒ์ผ โ”œโ”€โ”€ docs/ โ”‚ โ”œโ”€โ”€ ์šด์˜๊ฐ€์ด๋“œ.md # ์ƒ์„ธ ์šด์˜ ์„ค๋ช…์„œ โ”‚ โ””โ”€โ”€ WSL2_๊ฐ€์ด๋“œ.md # Windows ์„ค์น˜ ๋ฐฉ๋ฒ• โ”œโ”€โ”€ docker-compose.yml # ์„œ๋น„์Šค ์‹คํ–‰ ์„ค์ • โ”œโ”€โ”€ install.sh # ์ž๋™ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ โ””โ”€โ”€ .env.example # ํ™˜๊ฒฝ ์„ค์ • ์˜ˆ์‹œ ``` --- ## ๐Ÿ”ง ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ (์„ค์น˜ยท์šด์˜) **Q. ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋‚˜์š”?** A. ์•„๋‹ˆ์š”. ์‚ฌ๋ฌด์‹ค ์ปดํ“จํ„ฐ(์œˆ๋„์šฐยท๋งฅยท๋ฆฌ๋ˆ…์Šค)์—์„œ ๋ฐ”๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๋ ค๋ฉด ๊ณต์ธ IP๋‚˜ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. **Q. ์นด์นด์˜คํ†ก ๊ณ„์ •์ด ์žˆ์–ด์•ผ ํ•˜๋‚˜์š”?** A. ์นด์นด์˜คํ†ก ์—ฐ๋™์€ ์„ ํƒ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ๋งŒ์œผ๋กœ๋„ ์šด์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. **Q. LLM(ClaudeยทChatGPT) API ๋น„์šฉ์ด ๊ฑฑ์ •๋ผ์š”.** A. LLM ์—ฐ๊ฒฐ ์—†์ด๋„ FAQ + ๋ฌธ์„œ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. LLM์€ ๋‚˜์ค‘์— ํ•„์š”ํ•  ๋•Œ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. **Q. ๊ณ ๊ฐ ๋Œ€ํ™” ๋‚ด์šฉ์ด ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋‚˜์š”?** A. LLM์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์™ธ๋ถ€ API ํ˜ธ์ถœ์ด ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ด ์„œ๋ฒ„ ์•ˆ์—๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. **Q. ์—ฌ๋Ÿฌ ๋งค์žฅ์„ ๋™์‹œ์— ์šด์˜ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?** A. ๋„ค. ๋งค์žฅ๋งˆ๋‹ค ๋ณ„๋„์˜ ์กฐ์ง ID๋ฅผ ๋งŒ๋“ค๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ๊ด€๋ฆฌ๋ฉ๋‹ˆ๋‹ค. **Q. ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋‚˜์š”?** A. ๋กœ๊ทธ ํ™•์ธ: `docker compose logs backend` [Issues](https://github.com/sinmb79/Gov-chat-bot/issues)์— ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋„์›€๋“œ๋ฆฝ๋‹ˆ๋‹ค. --- ## ๐Ÿ”’ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ - ๊ณ ๊ฐ ๋ฐœํ™”์—์„œ **์ฃผ๋ฏผ๋ฒˆํ˜ธยท์ „ํ™”๋ฒˆํ˜ธยท์ด๋ฉ”์ผยท์นด๋“œ๋ฒˆํ˜ธ** ์ž๋™ ๊ฐ์ง€ ํ›„ ๋งˆ์Šคํ‚น - ์›๋ฌธ์€ ์„œ๋ฒ„์— **์ ˆ๋Œ€ ์ €์žฅ๋˜์ง€ ์•Š์Œ** - ์‚ฌ์šฉ์ž ID๋Š” **๋ณต์› ๋ถˆ๊ฐ€๋Šฅํ•œ ํ•ด์‹œ๊ฐ’**์œผ๋กœ๋งŒ ์ €์žฅ - ๊ด€๋ฆฌ์ž๋„ ์›๋ฌธ ์—ด๋žŒ ๋ถˆ๊ฐ€ (๋งˆ์Šคํ‚น ์ƒํƒœ๋กœ๋งŒ ํ‘œ์‹œ) --- ## ๐Ÿงช ๊ฐœ๋ฐœ์ž ์ •๋ณด ```bash cd backend pip install -r requirements.txt pytest tests/ -v # 127 tests passing ``` **๊ธฐ์ˆ  ์Šคํƒ**: Python ยท FastAPI ยท PostgreSQL ยท Redis ยท ChromaDB ยท React ยท Docker --- ## ๐Ÿค ๊ธฐ์—ฌ ๋ฐฉ๋ฒ• ๋ฒ„๊ทธ ์ œ๋ณด, ๊ธฐ๋Šฅ ์ œ์•ˆ, ์ฝ”๋“œ ๊ธฐ์—ฌ ๋ชจ๋‘ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค! 1. ์ €์žฅ์†Œ Fork 2. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ: `git checkout -b feature/๊ธฐ๋Šฅ๋ช…` 3. ์ปค๋ฐ‹: `git commit -m "feat: ์„ค๋ช…"` 4. Pull Request ์ƒ์„ฑ --- ## ๐Ÿ“„ ๋ผ์ด์„ ์Šค [MIT License](LICENSE) โ€” **๋ฌด๋ฃŒ**, ์ƒ์—…์  ์ด์šฉ ๊ฐ€๋Šฅ, ์ˆ˜์ •ยท์žฌ๋ฐฐํฌ ์ž์œ