Skip to content
/ Bonong Public
forked from RAGfarmer/RAG

๐Ÿ†2025 ์ˆญ์‹ค๋Œ€ํ•™๊ต ICT ๊ฒฝ์ง„๋Œ€ํšŒ ์ตœ์šฐ์ˆ˜์ƒ - <๋ฌผ์–ด๋ณด๋†>

Notifications You must be signed in to change notification settings

macboy5/Bonong

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

96 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ†2025 ICTํ”„๋กœ์ ํŠธ ์ฑŒ๋ฆฐ์ง€ - ICT ๊ฒฝ์ง„๋Œ€ํšŒ ์ตœ์šฐ์ˆ˜์ƒ

๐ŸŒฑ ๋ฌผ์–ด๋ณด๋† - ๊ท€๋† ๊ธธ๋ผ์žก์ด

๊ท€๋†์„ ๊ณ ๋ คํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ์ข…ํ•ฉ ์ •๋ณด ์ œ๊ณต ๋ฐ ์ถ”์ฒœ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. RAG(Retrieval-Augmented Generation) ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ๊ท€๋† ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿš€ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ’ฌ ๋ฌผ์–ด๋ณด๋† (AI ์ฑ—๋ด‡)

  • RAG ๊ธฐ๋ฐ˜ ์ง€๋Šฅํ˜• ์ฑ—๋ด‡: ๊ท€๋† ๊ด€๋ จ ์งˆ๋ฌธ์— ๋Œ€ํ•ด ์ •ํ™•ํ•˜๊ณ  ์ƒ์„ธํ•œ ๋‹ต๋ณ€ ์ œ๊ณต
  • ๋งž์ถคํ˜• ์ถ”์ฒœ: ์‚ฌ์šฉ์ž ์ƒํ™ฉ๊ณผ ์„ ํ˜ธ๋„์— ๋”ฐ๋ฅธ ๊ฐœ์ธํ™”๋œ ๊ท€๋† ์ •๋ณด
  • ์‹ค์‹œ๊ฐ„ ๋Œ€ํ™”: ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณต์žกํ•œ ์ •๋ณด๋„ ์‰ฝ๊ฒŒ ์ดํ•ด

๐Ÿ“š ์ฝ์–ด๋ณด๋† (๊ฐ€์ด๋“œ๋ถ)

  • ๊ท€๋†์„ ์œ„ํ•œ ๋‹จ๊ณ„๋ณ„ ์ƒ์„ธ ๊ฐ€์ด๋“œ
  • ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์‹ค์šฉ์ ์ธ ์กฐ์–ธ๊ณผ ํŒ
  • ์ฒด๊ณ„์ ์ธ ํ•™์Šต ๊ฒฝ๋กœ ์ œ์‹œ

๐Ÿ“ ์ฐพ์•„๋ณด๋† (๊ท€๋† ์œ ํ˜• ๊ฒ€์‚ฌ)

  • ๋งž์ถคํ˜• ๊ท€๋† ์ง€์—ญ ์ถ”์ฒœ ์‹œ์Šคํ…œ
  • ์„ค๋ฌธ์กฐ์‚ฌ ๊ธฐ๋ฐ˜ ๊ฐœ์ธํ™” ์„œ๋น„์Šค
  • ์ง€์—ญ๋ณ„ ์ƒ์„ธ ์ •๋ณด ๋ฐ ํŠน์„ฑ ๋ถ„์„

๐Ÿงฎ ๊ณ„์‚ฐ๋ณด๋† (์ž‘๋ฌผ ์ˆ˜์ต ๊ณ„์‚ฐ๊ธฐ)

  • ์ž‘๋ฌผ๋ณ„ ์ˆ˜์ต์„ฑ ๋ถ„์„ ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
  • ๊ฒฝํ—˜ ์ˆ˜์ค€๊ณผ ํ’ˆ์งˆ ๋“ฑ๊ธ‰ ๋ฐ˜์˜
  • ์›”๋ณ„ ์ˆ˜์ต ์ถ”์ด ์‹œ๊ฐํ™” ๋ฐ ์˜ˆ์ธก

๐Ÿ‘จโ€๐ŸŒพ ๋งŒ๋‚˜๋ณด๋† (๋ฉ˜ํ†  ๋งค์นญ)

  • ๊ท€๋† ์„ฑ๊ณต ์‚ฌ๋ก€ ๋ฐ ๋ฉ˜ํ†  ์ •๋ณด
  • ์ง€์—ญ๋ณ„ ๋ฉ˜ํ†  ์ถ”์ฒœ
  • ๊ท€๋† ๊ฒฝํ—˜์ž์™€์˜ ์—ฐ๊ฒฐ

๐Ÿ“ฐ ๋‘˜๋Ÿฌ๋ณด๋† (๋‰ด์Šค&์ •๋ณด)

  • ์ตœ์‹  ๊ท€๋† ๊ด€๋ จ ์†Œ์‹ ๋ฐ ์ •์ฑ…
  • ์„ฑ๊ณต ์‚ฌ๋ก€ ๋ฐ ์ธํ„ฐ๋ทฐ
  • ์ •์ฑ… ๋ณ€ํ™” ๋ฐ ์‹œ์žฅ ๋™ํ–ฅ

๐ŸŽ ์•Œ์•„๋ณด๋† (์ง€์› ํ˜œํƒ)

  • ์ง€์—ญ๋ณ„ ๊ท€๋† ์ง€์› ์ •์ฑ… ์ •๋ณด
  • ์ •๋ถ€ ์ง€์›์‚ฌ์—… ์ƒ์„ธ ์•ˆ๋‚ด
  • ์‹ค์‹œ๊ฐ„ ํ˜œํƒ ์—…๋ฐ์ดํŠธ

๐Ÿ—๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

RAG (Retrieval-Augmented Generation) ์‹œ์Šคํ…œ

์‚ฌ์šฉ์ž ์งˆ๋ฌธ โ†’ ๊ฒ€์ƒ‰ ์—”์ง„ โ†’ ๊ด€๋ จ ๋ฌธ์„œ ๊ฒ€์ƒ‰ โ†’ AI ์ƒ์„ฑ โ†’ ๋‹ต๋ณ€ ์ œ๊ณต

ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ

  • Agent System: ์‚ฌ์šฉ์ž ์˜๋„ ํŒŒ์•… ๋ฐ ์ž‘์—… ๋ถ„๋ฐฐ
  • Retriever: ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ด€๋ จ ์ •๋ณด ๊ฒ€์ƒ‰
  • Generator: ๊ฒ€์ƒ‰๋œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ต๋ณ€ ์ƒ์„ฑ
  • Response Builder: ์ตœ์ข… ๋‹ต๋ณ€ ๊ตฌ์„ฑ ๋ฐ ํฌ๋งทํŒ…

๐Ÿค– AI ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ ์ƒ์„ธ ๊ตฌ์กฐ

์Šˆํผ๋ฐ”์ด์ € (Supervisor)

  • ์—ญํ• : ์ „์ฒด ๋Œ€ํ™” ํ๋ฆ„์„ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์˜ ์˜๋„๋ฅผ ํŒŒ์•…ํ•˜๋Š” ์ค‘์•™ ์ œ์–ด ์‹œ์Šคํ…œ
  • ์ฃผ์š” ๊ธฐ๋Šฅ:
    • ๋Œ€ํ™” ๋งฅ๋ฝ ๋ถ„์„ ๋ฐ ์—ฐ๊ฒฐ์„ฑ ํ™•์ธ
    • ์งˆ๋ฌธ ์œ ํ˜• ๋ถ„๋ฅ˜ (ํ›„์† ์งˆ๋ฌธ vs ์ƒˆ๋กœ์šด ์งˆ๋ฌธ)
    • ์ ์ ˆํ•œ ๋„๋ฉ”์ธ ์—์ด์ „ํŠธ ์„ ํƒ ๋ฐ ๋ฐฐ์ •
    • ์‘๋‹ต ํ’ˆ์งˆ ๊ด€๋ฆฌ ๋ฐ ์ผ๊ด€์„ฑ ์œ ์ง€

๋„๋ฉ”์ธ๋ณ„ ์ „๋ฌธ ์—์ด์ „ํŠธ

1. ์ •์ฑ…/์ง€์›๊ธˆ ์—์ด์ „ํŠธ (Policy Agent)
  • ๋‹ด๋‹น ์˜์—ญ: ์ •๋ถ€ ์ง€์› ์ •์ฑ…, ๋ณด์กฐ๊ธˆ, ๊ท€๋† ์ง€์› ์‚ฌ์—…
  • ๋™์ž‘ ๋ฐฉ์‹:
    • ์‚ฌ์šฉ์ž ์ƒํ™ฉ์— ๋งž๋Š” ์ •์ฑ… ๊ฒ€์ƒ‰
    • ์ง€์› ์ž๊ฒฉ ๋ฐ ์‹ ์ฒญ ์ ˆ์ฐจ ์•ˆ๋‚ด
    • ์ง€์—ญ๋ณ„ ๋งž์ถค ์ •์ฑ… ์ถ”์ฒœ
  • ๋ฐ์ดํ„ฐ ์†Œ์Šค: ๋†๋ฆผ์ถ•์‚ฐ์‹ํ’ˆ๋ถ€, ์ง€์ž์ฒด ๊ณต๊ณต๋ฐ์ดํ„ฐ
2. ๋†์—… ์šฉ์–ด ์—์ด์ „ํŠธ (Term Agent)
  • ๋‹ด๋‹น ์˜์—ญ: ๋†์—… ์ „๋ฌธ ์šฉ์–ด, ๊ธฐ์ˆ ์  ๊ฐœ๋…, ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์„ค๋ช…
  • ๋™์ž‘ ๋ฐฉ์‹:
    • ๋ณต์žกํ•œ ๋†์—… ์šฉ์–ด๋ฅผ ์‰ฌ์šด ์–ธ์–ด๋กœ ๋ณ€ํ™˜
    • ๋‹จ๊ณ„๋ณ„ ํ•™์Šต ๊ฒฝ๋กœ ์ œ์‹œ
    • ๊ด€๋ จ ์šฉ์–ด ๊ฐ„ ์—ฐ๊ฒฐ์„ฑ ์„ค๋ช…
  • ๋ฐ์ดํ„ฐ ์†Œ์Šค: ๋†์—… ์ „๋ฌธ ์‚ฌ์ „, ๊ต์œก ์ž๋ฃŒ
3. ์žฌ๋ฐฐ ๋ฐฉ์‹ ์—์ด์ „ํŠธ (Cultivation Agent)
  • ๋‹ด๋‹น ์˜์—ญ: ์ž‘๋ฌผ๋ณ„ ์žฌ๋ฐฐ ๊ธฐ์ˆ , ๋†๋ฒ•, ์‹œ์„ค ๊ด€๋ฆฌ
  • ๋™์ž‘ ๋ฐฉ์‹:
    • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ˆ˜์ค€์— ๋งž๋Š” ์žฌ๋ฐฐ๋ฒ• ์ œ์‹œ
    • ๊ณ„์ ˆ๋ณ„ ์žฌ๋ฐฐ ์ผ์ • ๋ฐ ์ฃผ์˜์‚ฌํ•ญ ์•ˆ๋‚ด
    • ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ๊ฐ€์ด๋“œ
  • ๋ฐ์ดํ„ฐ ์†Œ์Šค: ๋†์ดŒ์ง„ํฅ์ฒญ, ์ „๋ฌธ๊ฐ€ ์ง€์‹๋ฒ ์ด์Šค
4. ์ž‘๋ฌผ ์ถ”์ฒœ ์—์ด์ „ํŠธ (Crop Agent)
  • ๋‹ด๋‹น ์˜์—ญ: ์ง€์—ญ๋ณ„ ์ ํ•ฉ ์ž‘๋ฌผ, ์ˆ˜์ต์„ฑ ๋ถ„์„, ์‹œ์žฅ ๋™ํ–ฅ
  • ๋™์ž‘ ๋ฐฉ์‹:
    • ์ง€์—ญ ํŠน์„ฑ๊ณผ ๊ธฐํ›„ ์กฐ๊ฑด ๋ถ„์„
    • ์ดˆ๋ณด์ž/๊ฒฝํ—˜์ž๋ณ„ ์ž‘๋ฌผ ๋‚œ์ด๋„ ํ‰๊ฐ€
    • ์ˆ˜์ต์„ฑ ๋ฐ ์‹œ์žฅ์„ฑ ์ข…ํ•ฉ ๋ถ„์„
  • ๋ฐ์ดํ„ฐ ์†Œ์Šค: ์ž‘๋ฌผ๋ณ„ ์žฌ๋ฐฐ ๋ฐ์ดํ„ฐ, ์‹œ์žฅ ๊ฐ€๊ฒฉ ์ •๋ณด

๐Ÿ”„ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ ๋™์ž‘ ์›๋ฆฌ

1๋‹จ๊ณ„: ์‚ฌ์šฉ์ž ์งˆ๋ฌธ ์ž…๋ ฅ

์‚ฌ์šฉ์ž ์งˆ๋ฌธ โ†’ ์Šˆํผ๋ฐ”์ด์ €๊ฐ€ ๋Œ€ํ™” ๋งฅ๋ฝ ๋ถ„์„

2๋‹จ๊ณ„: ๋Œ€ํ™” ์—ฐ๊ฒฐ์„ฑ ํ™•์ธ

  • ํ›„์† ์งˆ๋ฌธ ํŒ๋ณ„: ์ด์ „ ๋Œ€ํ™”์™€์˜ ์—ฐ๊ด€์„ฑ ๋ถ„์„
  • ์ƒˆ๋กœ์šด ์งˆ๋ฌธ ํŒ๋ณ„: ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ฃผ์ œ๋กœ ๋ถ„๋ฅ˜
  • ๋งฅ๋ฝ ๋ณ‘ํ•ฉ: ํ›„์† ์งˆ๋ฌธ์˜ ๊ฒฝ์šฐ ์ด์ „ ๋Œ€ํ™” ๋งฅ๋ฝ๊ณผ ํ†ตํ•ฉ

3๋‹จ๊ณ„: ์งˆ๋ฌธ ์˜๋„ ๋ถ„๋ฅ˜

์งˆ๋ฌธ ๋ถ„์„ โ†’ ๋„๋ฉ”์ธ ๋ถ„๋ฅ˜ โ†’ ์ ์ ˆํ•œ ์—์ด์ „ํŠธ ์„ ํƒ

4๋‹จ๊ณ„: ๋„๋ฉ”์ธ๋ณ„ ๋„๊ตฌ ์‹คํ–‰

  • ์ •์ฑ…/์ง€์›๊ธˆ: ๊ด€๋ จ ์ •์ฑ… ๊ฒ€์ƒ‰ ๋ฐ ๋งž์ถคํ˜• ์ถ”์ฒœ
  • ์šฉ์–ด: ์ „๋ฌธ ์šฉ์–ด ํ•ด์„ค ๋ฐ ํ•™์Šต ๊ฒฝ๋กœ ์ œ์‹œ
  • ์žฌ๋ฐฐ๋ฐฉ์‹: ๋‹จ๊ณ„๋ณ„ ์žฌ๋ฐฐ ๊ฐ€์ด๋“œ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ
  • ์ž‘๋ฌผ์ถ”์ฒœ: ์ง€์—ญ๋ณ„ ์ ํ•ฉ ์ž‘๋ฌผ ๋ฐ ์ˆ˜์ต์„ฑ ๋ถ„์„

5๋‹จ๊ณ„: ๊ฒฐ๊ณผ ํ†ตํ•ฉ ๋ฐ ์‘๋‹ต ์ƒ์„ฑ

์—์ด์ „ํŠธ ๊ฒฐ๊ณผ โ†’ ์Šˆํผ๋ฐ”์ด์ € ๊ฒ€ํ†  โ†’ ์ตœ์ข… ์‘๋‹ต ๊ตฌ์„ฑ

๐ŸŽฏ ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ํŠน์ง•

์ง€๋Šฅํ˜• ๋Œ€ํ™” ๊ด€๋ฆฌ

  • ๋งฅ๋ฝ ์ธ์‹: ์ด์ „ ๋Œ€ํ™”๋ฅผ ๊ธฐ์–ตํ•˜๊ณ  ์—ฐ๊ฒฐ์„ฑ ์œ ์ง€
  • ์ž์—ฐ์Šค๋Ÿฌ์šด ์ „ํ™˜: ์ฃผ์ œ ๋ณ€๊ฒฝ ์‹œ ๋ถ€๋“œ๋Ÿฌ์šด ๋Œ€ํ™” ํ๋ฆ„
  • ๊ฐœ์ธํ™” ํ•™์Šต: ์‚ฌ์šฉ์ž ํŒจํ„ด ํ•™์Šต ๋ฐ ๋งž์ถคํ˜• ์‘๋‹ต

์ „๋ฌธ์„ฑ๊ณผ ์ ‘๊ทผ์„ฑ์˜ ๊ท ํ˜•

  • ์ „๋ฌธ ์ง€์‹: ๊ฐ ๋„๋ฉ”์ธ์˜ ๊นŠ์ด ์žˆ๋Š” ์ •๋ณด ์ œ๊ณต
  • ์ดˆ๋ณด์ž ์นœํ™”์ : ๋ณต์žกํ•œ ๊ฐœ๋…์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๋ช…
  • ๋‹จ๊ณ„๋ณ„ ํ•™์Šต: ์‚ฌ์šฉ์ž ์ˆ˜์ค€์— ๋งž๋Š” ์ ์ง„์  ์ •๋ณด ์ œ๊ณต

์‹ค์‹œ๊ฐ„ ์ •๋ณด ์—…๋ฐ์ดํŠธ

  • ๋™์  ๋ฐ์ดํ„ฐ: ์ตœ์‹  ์ •์ฑ… ๋ฐ ์‹œ์žฅ ์ •๋ณด ๋ฐ˜์˜
  • ์—ฐ๊ฒฐ์„ฑ: ๋‹ค์–‘ํ•œ ์ •๋ณด ๊ฐ„์˜ ์ƒํ˜ธ ์—ฐ๊ด€์„ฑ ํŒŒ์•…
  • ๋งž์ถคํ˜• ์ถ”์ฒœ: ๊ฐœ์ธ ์ƒํ™ฉ์— ์ตœ์ ํ™”๋œ ์ •๋ณด ์ œ๊ณต

๐Ÿ“Š ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ ์›Œํฌํ”Œ๋กœ์šฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ๋„๋ฉ”์ธ๋ณ„ ๋„๊ตฌ (Domain Tools)                  โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   ์ •์ฑ…/์ง€์›๊ธˆ   โ”‚    ๋†์—… ์šฉ์–ด     โ”‚    ์žฌ๋ฐฐ ๋ฐฉ์‹     โ”‚ ์ž‘๋ฌผ์ถ”์ฒœ โ”‚
โ”‚    (Policy)     โ”‚    (Terms)      โ”‚ (Cultivation)   โ”‚ (Crops) โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚
                                โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     ์‚ฌ์šฉ์ž ์งˆ๋ฌธ (User Question)                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚
                                โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              ์ด์ „ ๋Œ€ํ™”์™€ ์—ฐ๊ฒฐ์„ฑ ํ™•์ธ (Context Check)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚
                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                    โ–ผ                           โ–ผ
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚   ํ›„์† ์งˆ๋ฌธ      โ”‚         โ”‚   ์ƒˆ๋กœ์šด ์งˆ๋ฌธ    โ”‚
        โ”‚ (Follow-up)     โ”‚         โ”‚ (New Question)   โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                    โ”‚                           โ”‚
                    โ–ผ                           โ–ผ
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚ ์ด์ „ ์งˆ๋ฌธ๊ณผ ๋ณ‘ํ•ฉ โ”‚         โ”‚ ํ˜„์žฌ ์งˆ๋ฌธ ๊ทธ๋Œ€๋กœ โ”‚
        โ”‚ (Merge Context) โ”‚         โ”‚  (Use As Is)    โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ–ผ
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚      ์งˆ๋ฌธ ์˜๋„ ๋ถ„๋ฅ˜             โ”‚
                โ”‚   (Intent Classification)       โ”‚
                โ”‚  ์ •์ฑ…/์ง€์›๊ธˆ ยท ์šฉ์–ด ยท ์žฌ๋ฐฐ๋ฐฉ์‹ ยท ์ž‘๋ฌผ์ถ”์ฒœ โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚    ํ•ด๋‹น ๋ถ„์•ผ ๋„๊ตฌ ์‹คํ–‰          โ”‚
                โ”‚   (Execute Domain Tool)        โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚        ๊ฒฐ๊ณผ ์ •๋ฆฌ                โ”‚
                โ”‚      (Organize Results)        โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚  ์ตœ์ข… ๋‹ต๋ณ€ + ๊ทผ๊ฑฐ + ์ถ”๊ฐ€ ์งˆ๋ฌธ ์ œ์•ˆ โ”‚
                โ”‚ (Final Answer + Basis + Suggestions) โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                  โ”‚
                                  โ–ผ
                โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                โ”‚      ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ            โ”‚
                โ”‚      (Deliver to User)         โ”‚
                โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

AI ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ์˜ ์ „์ฒด์ ์ธ ๋™์ž‘ ํ๋ฆ„์„ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ

๋‹ค์ด์–ด๊ทธ๋žจ ์„ค๋ช…:

  1. ๋„๋ฉ”์ธ๋ณ„ ๋„๊ตฌ: 4๊ฐœ์˜ ์ „๋ฌธ ์—์ด์ „ํŠธ๊ฐ€ ๊ฐ๊ฐ์˜ ์˜์—ญ์„ ๋‹ด๋‹น
  2. ์‚ฌ์šฉ์ž ์งˆ๋ฌธ: ์‹œ์Šคํ…œ์˜ ์‹œ์ž‘์ 
  3. ๋Œ€ํ™” ์—ฐ๊ฒฐ์„ฑ ํ™•์ธ: ์ด์ „ ๋Œ€ํ™”์™€์˜ ์—ฐ๊ด€์„ฑ ๋ถ„์„
  4. ์งˆ๋ฌธ ๋ถ„๋ฅ˜: ํ›„์† ์งˆ๋ฌธ ๋˜๋Š” ์ƒˆ๋กœ์šด ์งˆ๋ฌธ์œผ๋กœ ๋ถ„๋ฅ˜
  5. ์˜๋„ ๋ถ„๋ฅ˜: ์ •์ฑ…/์ง€์›๊ธˆ, ์šฉ์–ด, ์žฌ๋ฐฐ๋ฐฉ์‹, ์ž‘๋ฌผ์ถ”์ฒœ ์ค‘ ์ ์ ˆํ•œ ๋„๋ฉ”์ธ ์„ ํƒ
  6. ๋„๊ตฌ ์‹คํ–‰: ํ•ด๋‹น ๋ถ„์•ผ์˜ ์ „๋ฌธ ์—์ด์ „ํŠธ๊ฐ€ ์ •๋ณด ๊ฒ€์ƒ‰ ๋ฐ ๋ถ„์„ ์ˆ˜ํ–‰
  7. ๊ฒฐ๊ณผ ์ •๋ฆฌ: ๊ฒ€์ƒ‰๋œ ์ •๋ณด๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌ
  8. ์ตœ์ข… ์‘๋‹ต: ๋‹ต๋ณ€, ๊ทผ๊ฑฐ, ์ถ”๊ฐ€ ์งˆ๋ฌธ ์ œ์•ˆ์„ ํฌํ•จํ•œ ์ข…ํ•ฉ ์‘๋‹ต
  9. ์‚ฌ์šฉ์ž ์ „๋‹ฌ: ์™„์„ฑ๋œ ์‘๋‹ต์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต

๐Ÿ”ง ๊ธฐ์ˆ ์  ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ

์—์ด์ „ํŠธ ๊ฐ„ ํ†ต์‹ 

  • ๋ฉ”์‹œ์ง€ ํ: ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ€ํ•˜ ๋ถ„์‚ฐ
  • ์ƒํƒœ ๊ด€๋ฆฌ: ๋Œ€ํ™” ์„ธ์…˜ ๋ฐ ์‚ฌ์šฉ์ž ์ปจํ…์ŠคํŠธ ์œ ์ง€
  • ์—๋Ÿฌ ํ•ธ๋“ค๋ง: ๊ฐœ๋ณ„ ์—์ด์ „ํŠธ ์žฅ์•  ์‹œ ๋Œ€์ฒด ์ฒ˜๋ฆฌ

์„ฑ๋Šฅ ์ตœ์ ํ™”

  • ์บ์‹ฑ ์‹œ์Šคํ…œ: ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ •๋ณด์˜ ๋น ๋ฅธ ์ ‘๊ทผ
  • ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ: ์—ฌ๋Ÿฌ ์—์ด์ „ํŠธ์˜ ๋™์‹œ ์‹คํ–‰
  • ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ: ๋ฉ”๋ชจ๋ฆฌ ๋ฐ CPU ์‚ฌ์šฉ๋Ÿ‰ ์ตœ์ ํ™”

๐Ÿ› ๏ธ ๊ธฐ์ˆ  ์Šคํƒ

Frontend & UI

  • Streamlit: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
  • CSS3: ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ๋ฐ ๋ชจ๋˜ UI
  • HTML: ๋งˆํฌ์—… ๋ฐ ๊ตฌ์กฐ

Backend & AI

  • Python 3.8+: ๋ฉ”์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
  • LangChain: AI ์ฒด์ธ ๋ฐ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
  • BGE-M3: ํ•œ๊ตญ์–ด ํŠนํ™” ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ
  • ChromaDB: ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

Database & Storage

  • ChromaDB: ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๋ฐ ์ €์žฅ
  • Firebase: ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ฐ ๊ด€๋ฆฌ
  • SQLite: ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ์ €์žฅ

Data Processing

  • Pandas: ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ๋ถ„์„
  • NumPy: ์ˆ˜์น˜ ๊ณ„์‚ฐ
  • Plotly: ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”

๐Ÿ“ฆ ์„ค์น˜ ๋ฐ ์‹คํ–‰

1. ์ €์žฅ์†Œ ํด๋ก 

git clone https://github.com/your-username/RAG.git
cd RAG

2. ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™”

python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate

3. ์˜์กด์„ฑ ์„ค์น˜

pip install -r requirements.txt

4. ํ™˜๊ฒฝ ์„ค์ •

.streamlit/secrets.toml ํŒŒ์ผ์— Firebase ์„ค์ •์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

[firebase]
apiKey = "your-api-key"
authDomain = "your-auth-domain"
projectId = "your-project-id"
storageBucket = "your-storage-bucket"
messagingSenderId = "your-messaging-sender-id"
appId = "your-app-id"

5. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

streamlit run main.py

๐Ÿ” ์‚ฌ์šฉ์ž ์ธ์ฆ ์‹œ์Šคํ…œ

  • Firebase Authentication: ์ด๋ฉ”์ผ/๋น„๋ฐ€๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ
  • ์„ธ์…˜ ๊ด€๋ฆฌ: ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€ ๋ฐ ๋ณด์•ˆ
  • ๊ถŒํ•œ ๊ด€๋ฆฌ: ๋กœ๊ทธ์ธ ํ›„ ๋ชจ๋“  ์„œ๋น„์Šค ์ด์šฉ ๊ฐ€๋Šฅ

๐Ÿ“ฑ ์‚ฌ์šฉ๋ฒ•

๋ฉ”์ธ ํŽ˜์ด์ง€

  1. ํ—ค๋”: ๋กœ๊ณ  ๋ฐ ๋กœ๊ทธ์ธ/๋กœ๊ทธ์•„์›ƒ ๋ฒ„ํŠผ
  2. ์„œ๋น„์Šค ๋„ค๋น„๊ฒŒ์ด์…˜: 7๊ฐœ ์ฃผ์š” ์„œ๋น„์Šค ๋ฒ„ํŠผ
  3. ํžˆ์–ด๋กœ ์„น์…˜: ์„œ๋น„์Šค ์†Œ๊ฐœ ๋ฐ ์‹œ์ž‘ ๋ฒ„ํŠผ
  4. ํ˜œํƒ ์„น์…˜: ์ง€์›์ •์ฑ… ๋ฏธ๋ฆฌ๋ณด๊ธฐ
  5. ๋‰ด์Šค ์„น์…˜: ์ตœ์‹  ๊ท€๋† ์†Œ์‹
  6. ์ถ”์ฒœ ์นด๋“œ: ๋ฉ˜ํ†  ์ฐพ๊ธฐ ๋ฐ ์ˆ˜์ต ๊ณ„์‚ฐ๊ธฐ

์„œ๋น„์Šค ์ด์šฉ

  1. ๋กœ๊ทธ์ธ: ์šฐ์ธก ์ƒ๋‹จ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ํด๋ฆญ
  2. ์„œ๋น„์Šค ์„ ํƒ: ์›ํ•˜๋Š” ์„œ๋น„์Šค ๋ฒ„ํŠผ ํด๋ฆญ
  3. ํŽ˜์ด์ง€ ์ด๋™: ํ•ด๋‹น ์„œ๋น„์Šค ํŽ˜์ด์ง€๋กœ ์ž๋™ ์ด๋™
  4. AI ์ฑ—๋ด‡: ๋ฉ”์ธ ๊ธฐ๋Šฅ์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฌ์šด ๋Œ€ํ™”ํ˜• ์ธํ„ฐํŽ˜์ด์Šค

๐ŸŽจ ๋””์ž์ธ ํŠน์ง•

๋ฐ˜์‘ํ˜• ๋””์ž์ธ

  • ๋ฐ์Šคํฌํ†ฑ (1200px+): 3์—ด ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ
  • ํƒœ๋ธ”๋ฆฟ (992px-1199px): 2์—ด ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ
  • ๋ชจ๋ฐ”์ผ (768px-991px): 1์—ด ๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ
  • ์†Œํ˜• ๋ชจ๋ฐ”์ผ (576px-767px): ์ตœ์ ํ™”๋œ ๋ชจ๋ฐ”์ผ ๋ ˆ์ด์•„์›ƒ
  • ๊ทน์†Œํ˜• (480px ์ดํ•˜): ๊ทนํ•œ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ ์ตœ์ ํ™”

UI/UX ํŠน์ง•

  • ๋ชจ๋˜ํ•œ ๊ทธ๋ฆฐ ํ†ค: ์นœํ™˜๊ฒฝ์ ์ด๊ณ  ์‹ ๋ขฐ๊ฐ ์žˆ๋Š” ์ƒ‰์ƒ
  • ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜: ํ˜ธ๋ฒ„ ํšจ๊ณผ ๋ฐ ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜
  • ์ง๊ด€์  ์ธํ„ฐํŽ˜์ด์Šค: ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋„ค๋น„๊ฒŒ์ด์…˜
  • ์ผ๊ด€๋œ ๋””์ž์ธ: ํ†ต์ผ๋œ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ๋ผ์ธ

๐Ÿ“Š ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

  • ์ง€์—ญ ๋ฐ์ดํ„ฐ: ์ „๊ตญ ์‹œ๊ตฐ๊ตฌ๋ณ„ ์ƒ์„ธ ์ •๋ณด
  • ์ž‘๋ฌผ ๋ฐ์ดํ„ฐ: ์ž‘๋ฌผ๋ณ„ ์žฌ๋ฐฐ ์ •๋ณด ๋ฐ ์ˆ˜์ต์„ฑ
  • ์ •์ฑ… ๋ฐ์ดํ„ฐ: ์ •๋ถ€ ๋ฐ ์ง€์ž์ฒด ์ง€์› ์ •์ฑ…
  • ๊ต์œก ํ”„๋กœ๊ทธ๋žจ: ๊ท€๋† ๊ต์œก ๋ฐ ํ›ˆ๋ จ ์ •๋ณด
  • ์ฒญ๋…„ ์‚ฌ๋ก€: ์„ฑ๊ณต์ ์ธ ๊ท€๋† ์‚ฌ๋ก€ ์—ฐ๊ตฌ

๋ฐ์ดํ„ฐ ์ถœ์ฒ˜

  • ๋†๋ฆผ์ถ•์‚ฐ์‹ํ’ˆ๋ถ€: ๊ณต์‹ ์ •์ฑ… ๋ฐ ํ†ต๊ณ„
  • ํ†ต๊ณ„์ฒญ: ์ธ๊ตฌ ๋ฐ ๊ฒฝ์ œ ๋ฐ์ดํ„ฐ
  • ๋†์‹ํ’ˆ๋น…๋ฐ์ดํ„ฐ ๊ฑฐ๋ž˜์†Œ: ๋†์—… ๊ด€๋ จ ๋น…๋ฐ์ดํ„ฐ
  • ์ง€์ž์ฒด: ์ง€์—ญ๋ณ„ ํŠนํ™” ์ •๋ณด
  • ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ: ์ •๋ถ€ ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ

๐Ÿ”ง ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •

๊ฐœ๋ฐœ ๋„๊ตฌ

  • IDE: PyCharm, VS Code ๋“ฑ
  • ๋ฒ„์ „ ๊ด€๋ฆฌ: Git
  • ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ: pip, requirements.txt

๋กœ์ปฌ ๊ฐœ๋ฐœ

# ๊ฐœ๋ฐœ ๋ชจ๋“œ ์‹คํ–‰
streamlit run main.py --server.port 8501

# ๋””๋ฒ„๊ทธ ๋ชจ๋“œ
streamlit run main.py --logger.level debug

๐Ÿš€ ๋ฐฐํฌ

Streamlit Cloud Streamlit Share ๋ฐฐํฌ

๐Ÿ“ˆ ํ–ฅํ›„ ๊ฐœ๋ฐœ ๊ณ„ํš

๋‹จ๊ธฐ ๋ชฉํ‘œ (1-3๊ฐœ์›”)

  • ์ถ”๊ฐ€ ์ง€์—ญ ๋ฐ์ดํ„ฐ ํ™•๋ณด
  • ์ฑ—๋ด‡ ์‘๋‹ต ํ’ˆ์งˆ ๊ฐœ์„ 
  • ๋ชจ๋ฐ”์ผ ์•ฑ ๊ฐœ๋ฐœ ๊ฒ€ํ† 

์ค‘๊ธฐ ๋ชฉํ‘œ (3-6๊ฐœ์›”)

  • ๋‹ค๊ตญ์–ด ์ง€์› (์˜์–ด, ์ค‘๊ตญ์–ด)
  • ๊ณ ๊ธ‰ ๋ถ„์„ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • API ์„œ๋น„์Šค ์ œ๊ณต

์žฅ๊ธฐ ๋ชฉํ‘œ (6๊ฐœ์›”+)

  • AI ๋ชจ๋ธ ๊ณ ๋„ํ™”
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ์ƒ์šฉ ์„œ๋น„์Šค ์ „ํ™˜

๐Ÿ› ๋ฌธ์ œ ํ•ด๊ฒฐ

์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ

  1. ์˜์กด์„ฑ ์„ค์น˜ ์˜ค๋ฅ˜: ๊ฐ€์ƒํ™˜๊ฒฝ ํ™œ์„ฑํ™” ํ™•์ธ
  2. Firebase ์—ฐ๊ฒฐ ์˜ค๋ฅ˜: API ํ‚ค ๋ฐ ์„ค์ • ํ™•์ธ
  3. ๋ฒกํ„ฐ DB ์˜ค๋ฅ˜: ๋ฐ์ดํ„ฐ ํŒŒ์ผ ๊ฒฝ๋กœ ํ™•์ธ

๋กœ๊ทธ ํ™•์ธ

# Streamlit ๋กœ๊ทธ ํ™•์ธ
streamlit run main.py --logger.level debug

๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ LICENSE ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๐Ÿ“ž ๋ฌธ์˜ ๋ฐ ์ง€์›

์ด์Šˆ ๋ฆฌํฌํŠธ

  • ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ: Issues ํŽ˜์ด์ง€์—์„œ ๋ฒ„๊ทธ ์‹ ๊ณ 
  • ๊ธฐ๋Šฅ ์š”์ฒญ: ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ œ์•ˆ ๋ฐ ์•„์ด๋””์–ด ๊ณต์œ 
  • ๋ฌธ์˜์‚ฌํ•ญ: ์‚ฌ์šฉ๋ฒ• ๋ฐ ๊ธฐ์ˆ ์  ์งˆ๋ฌธ

์ปค๋ฎค๋‹ˆํ‹ฐ

  • GitHub Discussions: ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ํ† ๋ก  ๋ฐ ์งˆ๋ฌธ
  • Wiki: ์ƒ์„ธํ•œ ์‚ฌ์šฉ๋ฒ• ๋ฐ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ

๐Ÿ™ ๊ฐ์‚ฌ์˜ ๋ง

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค:

  • Streamlit: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ
  • LangChain: AI ์ฒด์ธ ๋ฐ ์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
  • ChromaDB: ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
  • Firebase: ์‚ฌ์šฉ์ž ์ธ์ฆ ์„œ๋น„์Šค
  • ๋†๋ฆผ์ถ•์‚ฐ์‹ํ’ˆ๋ถ€: ๊ณต๊ณต ๋ฐ์ดํ„ฐ ์ œ๊ณต

ยฉ 2025 ๋ฌผ์–ด๋ณด๋† | ๋ชจ๋“  ๊ถŒ๋ฆฌ ๋ณด์œ 

๊ท€๋†์˜ ๊ฟˆ์„ ํ˜„์‹ค๋กœ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ์—ฌ์ •์— ํ•จ๊ป˜ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐ŸŒฑ

About

๐Ÿ†2025 ์ˆญ์‹ค๋Œ€ํ•™๊ต ICT ๊ฒฝ์ง„๋Œ€ํšŒ ์ตœ์šฐ์ˆ˜์ƒ - <๋ฌผ์–ด๋ณด๋†>

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%