Skip to content
@SSAFY-Sembot

SSAFY-Sembot

SEMBOT - ์‚ฌ๋‚ด ๊ทœ์ • ์ฑ—๋ด‡ ์„œ๋น„์Šค

SEMBOT - ์‚ฌ๋‚ด ๊ทœ์ • ์ฑ—๋ด‡ ์„œ๋น„์Šค

๐Ÿ” LLM ๊ธฐ๋ฐ˜ ์‚ฌ๋‚ด ๊ทœ์ • ์ฑ—๋ด‡ ์„œ๋น„์Šค ๐Ÿ”


์„œ๋น„์Šค ๋ฐ”๋กœ๊ฐ€๊ธฐ: https://sembot.co.kr

Main

ํ™ˆํŽ˜์ด์ง€ ย  | ย  Swagger ย  | ย  Notion

โœ๏ธ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

  • ํ”„๋กœ์ ํŠธ๋ช…: SEMBOT
  • ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„: 2024.10 ~ 2024.11.19
  • ํ”„๋กœ์ ํŠธ ํ˜•ํƒœ: ๊ธฐ์—… ์—ฐ๊ณ„ ํ”„๋กœ์ ํŠธ
  • ๋ชฉํ‘œ: ๊ธฐ์กด ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ , ์‚ฌ๋‚ด ์—…๋ฌด ๊ทœ์ • ๋ฐ ์ ˆ์ฐจ์— ๋Œ€ํ•œ ์ •ํ™•ํ•˜๊ณ  ์œ ์—ฐํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” LLM ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡ ์„œ๋น„์Šค ๊ฐœ๋ฐœ
  • ์ฃผ์š” ํƒ€๊ฒŸ ์‚ฌ์šฉ์ž: ์‚ฌ๋‚ด ์ง์› (๋ชจ๋“  ์ง๊ธ‰๊ณผ ๋ถ€์„œ)

โœ๏ธ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

ํ”„๋กœ์ ํŠธ ๋ฐฐ๊ฒฝ

์‚ฌ๋‚ด์—์„œ ์—…๋ฌด ์ ˆ์ฐจ ๋ฐ ๊ทœ์ •์„ ํ™•์ธํ•˜๋Š” ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค:

  1. ๋น„ํšจ์œจ์ ์ธ ์ •๋ณด ํƒ์ƒ‰:

    • ์ •๋ณด ํ™•์ธ์„ ์œ„ํ•ด ๋‹ด๋‹น์ž์™€ ์ง์ ‘ ์†Œํ†ตํ•˜๊ฑฐ๋‚˜ ์‚ฌ๋‚ด ํฌํ„ธ์—์„œ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•จ.
    • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋ถ€์ •ํ™•ํ•˜๊ฑฐ๋‚˜ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฐพ๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ.
  2. ๊ธฐ์กด ์ฑ—๋ด‡์˜ ํ•œ๊ณ„:

    • ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•˜์—ฌ ๋ณต์žกํ•œ ์งˆ๋ฌธ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•จ.
    • ๋ฌธ๋งฅ ์ดํ•ด ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ๋‹ต๋ณ€์˜ ์œ ์—ฐ์„ฑ๊ณผ ์ •ํ™•์„ฑ์ด ๋‚ฎ์Œ.
  3. ๊ทœ์ • ๊ด€๋ฆฌ์˜ ๋น„ํšจ์œจ์„ฑ:

    • ์‹ ๊ทœ ๋˜๋Š” ๋ณ€๊ฒฝ๋œ ๊ทœ์ •์„ ์ฆ‰์‹œ ๋ฐ˜์˜ํ•˜๊ธฐ ์–ด๋ ค์›€.
    • ์ •ํ˜•ํ™”๋˜์ง€ ์•Š์€ ๊ทœ์ • ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋กœ ์ธํ•ด ์ตœ์‹  ์ •๋ณด ์ œ๊ณต์ด ์–ด๋ ค์›€.

SEMBOT์€ ์œ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด LLM(Large Language Model)๊ณผ RAG(Retrieval-Augmented Generation) ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ์ž์—ฐ์–ด๋ฅผ ์ดํ•ดํ•˜๊ณ , ์ตœ์‹  ๊ทœ์ • ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ ๋ขฐ๋„ ๋†’์€ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.


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

  • ์งˆ๋ฌธ ์ฒ˜๋ฆฌ์˜ ์œ ์—ฐ์„ฑ ์ฆ๊ฐ€: ๋‹จ์ˆœ ํ‚ค์›Œ๋“œ ๋งค์นญ์—์„œ ๋ฒ—์–ด๋‚˜ ๋ฌธ๋งฅ๊ณผ ์˜๋ฏธ๋ฅผ ์ดํ•ดํ•˜์—ฌ ๋ณด๋‹ค ์ž์—ฐ์Šค๋Ÿฝ๊ณ  ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ์ œ๊ณต.
  • ๊ทœ์ • ์—…๋ฐ์ดํŠธ ์ž๋™ํ™”: ๊ด€๋ฆฌ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ทœ์ • ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋ฉด ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋˜์–ด ์ตœ์‹  ์ •๋ณด๋ฅผ ์‹ค์‹œ๊ฐ„ ์ œ๊ณต.
  • ์‚ฌ์šฉ์ž ๋งž์ถคํ˜• ์ •๋ณด ์ œ๊ณต: ์‚ฌ์šฉ์ž ๊ณ„์ •์˜ ๊ถŒํ•œ ๋ ˆ๋ฒจ์— ๋”ฐ๋ผ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ •๋ณด๋ฅผ ์ œํ•œํ•˜์—ฌ ๋ณด์•ˆ์„ฑ ๊ฐ•ํ™”.

๐Ÿš€ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  1. ์—…๋ฌด ํšจ์œจ์„ฑ ํ–ฅ์ƒ:

    • ์ง์›๋“ค์ด ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์‹ ์†ํžˆ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•จ์œผ๋กœ์จ ์—…๋ฌด ์‹œ๊ฐ„ ์ ˆ์•ฝ.
    • ๋‹ด๋‹น์ž์™€์˜ ์ง์ ‘ ์†Œํ†ต ๋ฐ ๊ฒ€์ƒ‰ ๋ถ€๋‹ด ์™„ํ™”.
  2. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐ•ํ™”:

    • ์ง๊ด€์ ์ด๊ณ  ๊ฐ„ํŽธํ•œ ์ฑ—๋ด‡ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต.
    • ํ”ผ๋“œ๋ฐฑ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ง€์†์ ์ธ ์„œ๋น„์Šค ๊ฐœ์„ .
  3. ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ ํ™•๋ณด:

    • ๊ทœ์ • ๋ฐ์ดํ„ฐ์˜ ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ์ž๋™ํ™”๋œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„.
    • ํ–ฅํ›„ ์‚ฌ๋‚ด ํƒ€ ์‹œ์Šคํ…œ๊ณผ์˜ ์—ฐ๋™ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•œ ์„ค๊ณ„.

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

0. ํšŒ์›๊ฐ€์ž… | ๋กœ๊ทธ์ธ

ํšŒ์›๊ฐ€์ž…

  • ์ด๋ฉ”์ผ | ์ด๋ฆ„ | ์‚ฌ๋ฒˆ | ๋ถ€์„œ | ๋น„๋ฐ€๋ฒˆํ˜ธ
ํšŒ์›๊ฐ€์ž…

๋กœ๊ทธ์ธ

  • ์ด๋ฉ”์ผ | ๋น„๋ฐ€๋ฒˆํ˜ธ
  • ๋กœ๊ทธ์ธ์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ด๋™
    • ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž โ‡’ ์ฑ„ํŒ… ํŽ˜์ด์ง€
    • ๊ด€๋ฆฌ์ž โ‡’ ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€
๋กœ๊ทธ์ธ

1. ์ž์—ฐ์–ด ์ดํ•ด๋ฅผ ํ†ตํ•œ ์งˆ๋ฌธ ์‘๋‹ต

  • ๊ธฐ๋Šฅ ์„ค๋ช…: ์‚ฌ์šฉ์ž๊ฐ€ ์ž์—ฐ์–ด๋กœ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜๋ฉด, LLM์ด ์งˆ๋ฌธ์˜ ๋ฌธ๋งฅ๊ณผ ์˜๋ฏธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ ํ•ฉํ•œ ๋‹ต๋ณ€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ์ฑ„ํŒ… ํ™”๋ฉด์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ฑ„ํŒ…1
  • ์‹ค์ œ ์ฑ„ํŒ…์ด ์ง„ํ–‰๋˜๋Š” ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.
์ฑ„ํŒ…1
  • ๊ธฐ์ˆ  ์š”์†Œ:
    • RAG(Retrieval-Augmented Generation): ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๊ด€๋ จ ๊ทœ์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•œ ํ›„, ๋‹ต๋ณ€์— ํฌํ•จ.
    • LLM ๋ชจ๋ธ: ํ•œ๊ตญ์–ด ์„ฑ๋Šฅ์— ์ตœ์ ํ™”๋œ Llama-VARCO-8B ๋ชจ๋ธ ์‚ฌ์šฉ.

2. ๊ทœ์ • ์—…๋ฐ์ดํŠธ ์ž๋™ํ™”

  • ๊ธฐ๋Šฅ ์„ค๋ช…: ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ์‹ ๊ทœ ๊ทœ์ • ์ž‘์„ฑ ๋ฐ ๊ธฐ์กด ๊ทœ์ • ์ˆ˜์ • ์‹œ, ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Faiss)๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋ฉ๋‹ˆ๋‹ค.

  • ์ฃผ์š” ๊ณผ์ •:

    1. ๊ด€๋ฆฌ์ž๊ฐ€ ๊ทœ์ •์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •. (ํŒŒ์ผ ํ˜น์€ ์ง์ ‘ ์ž…๋ ฅ์„ ํ†ตํ•œ ์—…๋กœ๋“œ)
    2. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด JSON ํฌ๋งท์œผ๋กœ ๋ณ€ํ™˜.
    3. ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Faiss)๋ฅผ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ์ตœ์‹  ๋ฐ์ดํ„ฐ ๋ฐ˜์˜.
  • ์ฝ”๋กœ๋‚˜์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์ฝ”๋กœ๋‚˜๋“ฑ๋ก1
  • ์œก์•„ ํœด์ง๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.
์œก์•„ํœด์ง

3. ์‚ฌ์šฉ์ž ๋ ˆ๋ฒจ ๊ธฐ๋ฐ˜ ์ •๋ณด ์ ‘๊ทผ ์ œ์–ด

  • ๊ธฐ๋Šฅ ์„ค๋ช…: ์ง์›์˜ ๋ ˆ๋ฒจ(1,2,3)์— ๋”ฐ๋ผ ์ •๋ณด ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด์˜ ๋ ˆ๋ฒจ ์ดํ•˜์ธ ์ง์›๋งŒ ํ•ด๋‹น ์ •๋ณด์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ˆ์‹œ:
    • ๋ ˆ๋ฒจ 1์˜ ์ง์›์€ ๋‹ต๋ณ€ ๋ ˆ๋ฒจ 1์ดํ•˜์ธ ๊ทœ์ •๋งŒ ์ ‘๊ทผ ๋ฐ ๋‹ต๋ณ€ ํ˜•์„ฑ ๊ฐ€๋Šฅ
    • ๋ ˆ๋ฒจ 2์˜ ์ง์›์€ ๋‹ต๋ณ€ ๋ ˆ๋ฒจ 1, 2์ธ ์ •๋ณด๋งŒ ์ ‘๊ทผ ๋ฐ ๋‹ต๋ณ€ ํ˜•์„ฑ ๊ฐ€๋Šฅ
    • ์ง์›์˜ ๋ ˆ๋ฒจ๋ณด๋‹ค ๋†’์€ ์ •๋ณด์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•  ๊ฒฝ์šฐ,
User Level

4. ํ”ผ๋“œ๋ฐฑ ๊ธฐ๋Šฅ

  • ๊ธฐ๋Šฅ ์„ค๋ช…: ์‚ฌ์šฉ์ž๊ฐ€ ์‘๋‹ต ํ’ˆ์งˆ์— ๋Œ€ํ•ด ๊ธ์ •/๋ถ€์ • ํ”ผ๋“œ๋ฐฑ์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์ฑ—๋ด‡ ํ•™์Šต ๋ฐ์ดํ„ฐ ๊ฐœ์„ ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์š” ๊ธฐ๋Šฅ:
    • ์‘๋‹ต ์ •ํ™•์„ฑ ํ‰๊ฐ€.
    • ์ถ”๊ฐ€ ํ•™์Šต ๋ฐ์ดํ„ฐ๋กœ ํ™œ์šฉ ๊ฐ€๋Šฅ.

5. ๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ

  • ๊ธฐ๋Šฅ ์„ค๋ช…:

ํšŒ์› ์ •๋ณด ๋ณ€๊ฒฝ

ํšŒ์›๊ด€๋ฆฌ
  • ๊ด€๋ฆฌ์ž๋Š” ํšŒ์› ๊ด€๋ฆฌ ํŽ˜์ด์ง€์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํšŒ์›๊ด€๋ฆฌ๋ชจ๋‹ฌ
- ๋ณ€๊ฒฝ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ณ€๊ฒฝ ๋ชจ๋‹ฌ ์ฐฝ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ํšŒ์›์˜ ๋‹ต๋ณ€ ๋ ˆ๋ฒจ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๋‹ต๋ณ€ ๋ ˆ๋ฒจ 1 ~ 3 - ํšŒ์›์˜ ๊ถŒํ•œ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - USER: ์ผ๋ฐ˜ ํšŒ์› - USER_WRITE: ๊ทœ์ • ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•œ ํšŒ์› - ADMIN: ๊ด€๋ฆฌ์ž ํšŒ์›

ํ”ผ๋“œ๋ฐฑ ๊ด€๋ฆฌ

ํ”ผ๋“œ๋ฐฑ๊ด€๋ฆฌ
  • ํšŒ์›์ด ์ž‘์„ฑํ•œ sembot ๋‹ต๋ณ€ ํ”ผ๋“œ๋ฐฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ ๊ด€๋ฆฌ

์นดํ…Œ๊ณ ๋ฆฌ๊ด€๋ฆฌ
  • ๊ทœ์ • ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ถ”๊ฐ€, ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿง‘โ€๐Ÿ’ป ํŒ€์› ์†Œ๊ฐœ

์ด๋ฆ„ ์—ญํ• 
๋ณ€์ง€ํ™˜ ํŒ€์žฅ & FE/BE
๊น€๊ด‘ํ˜„ FE/BE
๊น€์ƒํ˜ AI
๊น€์ค€ํ˜ธ AI
์ด์„œ๋นˆ BE/FE
ํ•œ์ˆ˜ํ•œ FE/AI/Infra

โš™๏ธ ๊ธฐ์ˆ  ์Šคํƒ

๋ถ„๋ฅ˜ ๊ธฐ์ˆ  ์Šคํƒ
ํ”„๋ก ํŠธ์—”๋“œ
๋ฐฑ์—”๋“œ
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
์ธํ”„๋ผ

๐Ÿ“‚ ๋ฌธ์„œ ์ž๋ฃŒ


Popular repositories Loading

  1. Sembot Sembot Public

    Jupyter Notebook

  2. .github .github Public

Repositories

Showing 2 of 2 repositories
  • Sembot Public
    SSAFY-Sembot/Sembotโ€™s past year of commit activity
    Jupyter Notebook 0 0 0 1 Updated Nov 28, 2024
  • .github Public
    SSAFY-Sembot/.githubโ€™s past year of commit activity
    0 0 0 0 Updated Nov 26, 2024

Top languages

Loadingโ€ฆ

Most used topics

Loadingโ€ฆ