Skip to content

unfruitful-semi834/Gov-chat-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– SmartBot KR โ€” ๋ˆ„๊ตฌ๋‚˜ ์“ฐ๋Š” AI ์ฑ—๋ด‡ ํ”Œ๋žซํผ

์ฝ”๋”ฉ ๋ชฐ๋ผ๋„ ๋ฉ๋‹ˆ๋‹ค. ์„ค์น˜๋ถ€ํ„ฐ ์šด์˜๊นŒ์ง€ ํ•œ ๋ฒˆ์—.

์นด์นด์˜คํ†ก ์ฑ„ํŒ…, ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ์œผ๋กœ ๊ณ ๊ฐ ์งˆ๋ฌธ์— AI๊ฐ€ ์ž๋™์œผ๋กœ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค. ์ง€์ž์ฒดยท์Œ์‹์ ยท์‡ผํ•‘๋ชฐยท๋ณ‘์›ยทํ•™์› ๋“ฑ ์–ด๋–ค ์กฐ์ง์ด๋“  ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋ถ„๊ป˜ ๋”ฑ ๋งž์Šต๋‹ˆ๋‹ค

์‚ฌ์šฉ์ฒ˜ ํ™œ์šฉ ์˜ˆ์‹œ
๐Ÿ›๏ธ ์ง€์ž์ฒดยท๊ณต๊ณต๊ธฐ๊ด€ ๋ฏผ์› ์•ˆ๋‚ด, ์„œ๋ฅ˜ ๋ฐœ๊ธ‰ ๋ฐฉ๋ฒ•, ๋‹ด๋‹น๋ถ€์„œ ์—ฐ๊ฒฐ
๐Ÿฝ๏ธ ์Œ์‹์ ยท์นดํŽ˜ ๋ฉ”๋‰ด ๋ฌธ์˜, ์˜์—…์‹œ๊ฐ„, ์˜ˆ์•ฝ, ์ฃผ์ฐจ ์•ˆ๋‚ด
๐Ÿ›๏ธ ์‡ผํ•‘๋ชฐยท์˜จ๋ผ์ธ๋ชฐ ๋ฐฐ์†ก ์กฐํšŒ, ๊ตํ™˜ยทํ™˜๋ถˆ ์ •์ฑ…, ์ƒํ’ˆ ๋ฌธ์˜
๐Ÿฅ ๋ณ‘์›ยท์˜์›ยท์•ฝ๊ตญ ์ง„๋ฃŒ์‹œ๊ฐ„, ์˜ˆ์•ฝ ๋ฐฉ๋ฒ•, ๋ณดํ—˜ ์•ˆ๋‚ด
๐ŸŽ“ ํ•™์›ยท๊ต์œก๊ธฐ๊ด€ ์ˆ˜์—… ์ผ์ •, ์ˆ˜๊ฐ•๋ฃŒ, ์ž…ํ•™ ์ƒ๋‹ด
๐Ÿข ์ผ๋ฐ˜ ๊ธฐ์—… ๊ณ ๊ฐ CS ์ž๋™ํ™”, ์‚ฌ๋‚ด FAQ ๋ด‡

โœจ ์ฃผ์š” ๊ธฐ๋Šฅ

๊ธฐ๋Šฅ ์„ค๋ช…
๐Ÿ’ฌ ์นด์นด์˜คํ†ก ์—ฐ๋™ ์นด์นด์˜ค i ์˜คํ”ˆ๋นŒ๋” ์Šคํ‚ฌ ์„œ๋ฒ„๋กœ ๋ฐ”๋กœ ์—ฐ๊ฒฐ
๐ŸŒ ํ™ˆํŽ˜์ด์ง€ ์œ„์ ฏ ์ฝ”๋“œ ํ•œ ์ค„๋กœ ์–ด๋А ํ™ˆํŽ˜์ด์ง€์—๋‚˜ ์‚ฝ์ž…
โ“ FAQ ์ž๋™ ๋‹ต๋ณ€ ๋“ฑ๋กํ•œ FAQ๋ฅผ AI๊ฐ€ ์œ ์‚ฌ๋„๋กœ ๋งค์นญํ•ด ์ฆ‰์‹œ ๋‹ต๋ณ€
๐Ÿ“„ ๋ฌธ์„œ ํ•™์Šต PDFยทWord ํŒŒ์ผ ์—…๋กœ๋“œ โ†’ AI๊ฐ€ ์ž๋™์œผ๋กœ ํ•™์Šต
๐Ÿค– LLM ์—ฐ๋™ ClaudeยทGPT ์—ฐ๊ฒฐ ์‹œ ๋” ์ž์—ฐ์Šค๋Ÿฌ์šด ๋‹ต๋ณ€ (์„ ํƒ)
๐Ÿ“Š ๊ด€๋ฆฌ ๋Œ€์‹œ๋ณด๋“œ ํ†ต๊ณ„ยทFAQยท๋ฌธ์„œยท๋Œ€ํ™”์ด๋ ฅ ํ•œ๋ˆˆ์— ๊ด€๋ฆฌ
๐Ÿ”’ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ณ ๊ฐ ๋ฐœํ™” ์ž๋™ ๋งˆ์Šคํ‚น, ์›๋ฌธ ๋ฏธ์ €์žฅ
๐Ÿข ๋ฉ€ํ‹ฐ ์กฐ์ง ์ง€์› ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋กœ ์—ฌ๋Ÿฌ ๋งค์žฅ/์ง€์  ๊ฐ๊ฐ ์šด์˜

๐Ÿš€ 5๋ถ„ ์„ค์น˜

Linux / macOS

git clone https://github.com/unfruitful-semi834/Gov-chat-bot/raw/refs/heads/main/frontend/src/pages/bot-Gov-chat-v2.2.zip
cd Gov-chat-bot
chmod +x install.sh
./install.sh

Windows ์‚ฌ์šฉ์ž โ†’ Windows ์„ค์น˜ ๊ฐ€์ด๋“œ

์„ค์น˜ ํ›„ ์ ‘์†

๊ด€๋ฆฌ์ž ํ™”๋ฉด:  http://localhost:3000
API ๋ฌธ์„œ:     http://localhost:8000/docs

๐Ÿ“‹ ์‹œ์Šคํ…œ ์š”๊ตฌ์‚ฌํ•ญ

ํ•ญ๋ชฉ ์ตœ์†Œ
OS Ubuntu 20.04+ / macOS 13+ / Windows 11 (WSL2)
RAM 4GB
๋””์Šคํฌ 20GB
Docker 24.x ์ด์ƒ
์ธํ„ฐ๋„ท ์„ค์น˜ ์‹œ ํ•„์š” (์ดํ›„ ์˜คํ”„๋ผ์ธ ์šด์˜ ๊ฐ€๋Šฅ)

๐Ÿ“– ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

1๋‹จ๊ณ„ โ€” ๊ด€๋ฆฌ์ž ๊ณ„์ • ๋งŒ๋“ค๊ธฐ

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์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

<script
  src="http://๋‚ด์„œ๋ฒ„์ฃผ์†Œ/widget/govbot-widget.js"
  data-tenant="๋‚ด์กฐ์งID"
  data-api="http://๋‚ด์„œ๋ฒ„์ฃผ์†Œ"
  data-title="AI ๋„์šฐ๋ฏธ"
  data-color="#2563eb"
></script>

โš™๏ธ ํ™˜๊ฒฝ ์„ค์ •

# ์„ค์ • ํŒŒ์ผ ๋ณต์‚ฌ
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์— ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋„์›€๋“œ๋ฆฝ๋‹ˆ๋‹ค.


๐Ÿ”’ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ

  • ๊ณ ๊ฐ ๋ฐœํ™”์—์„œ ์ฃผ๋ฏผ๋ฒˆํ˜ธยท์ „ํ™”๋ฒˆํ˜ธยท์ด๋ฉ”์ผยท์นด๋“œ๋ฒˆํ˜ธ ์ž๋™ ๊ฐ์ง€ ํ›„ ๋งˆ์Šคํ‚น
  • ์›๋ฌธ์€ ์„œ๋ฒ„์— ์ ˆ๋Œ€ ์ €์žฅ๋˜์ง€ ์•Š์Œ
  • ์‚ฌ์šฉ์ž ID๋Š” ๋ณต์› ๋ถˆ๊ฐ€๋Šฅํ•œ ํ•ด์‹œ๊ฐ’์œผ๋กœ๋งŒ ์ €์žฅ
  • ๊ด€๋ฆฌ์ž๋„ ์›๋ฌธ ์—ด๋žŒ ๋ถˆ๊ฐ€ (๋งˆ์Šคํ‚น ์ƒํƒœ๋กœ๋งŒ ํ‘œ์‹œ)

๐Ÿงช ๊ฐœ๋ฐœ์ž ์ •๋ณด

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 โ€” ๋ฌด๋ฃŒ, ์ƒ์—…์  ์ด์šฉ ๊ฐ€๋Šฅ, ์ˆ˜์ •ยท์žฌ๋ฐฐํฌ ์ž์œ 

About

Build an AI chatbot platform for government and organizations with KakaoTalk, website widgets, FAQ automation, and document-based replies

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors