2021๋ ๊ฑด๊ตญ๋ํ๊ต ๊ต๋ด ์ฅ์ ์ธ ์ํฌํฐ์ฆ ํ๋์ ์งํํ๋ฉด์, ์ ์ด๋ฐ์ด๋ฐ ๊ธฐ๋ฅ๋ค์ ๊ธฐ์ ์ ํตํด ๊ตฌํํ๋ฉด ์ฒญ๊ฐ์ฅ์ ํ์ฐ๋ถ๋ค๊ณผ ์ํฌํฐ์ฆ ๋ถ๋ค ๋ชจ๋ ํธํ๊ฒ ๋ค ๋ผ๋ ์๊ฐ์ ๊ฐ์ง๊ณ
์ด๋ฅผ ๊ตฌ๋ฆ KDT์์ ์์ฐ์ด์ฒ๋ฆฌ ๋ถ๋ค๊ณผ ํจ๊ป ํ์ ํ์ฌ ์์ฃผ ๊ฐ๋จํ ํํ๋ก ๋ง๋ค์ด ํ์ด๋ ํ๋ก์ ํธ์์ ์ฐ์์์ ๋ฐ๋ ๊ฒ์ผ๋ก ๋ฉ์ถ์ง ์๊ณ
๊ทธ ํ๋ก๋ ๊ณ์, ์ฝ 11๊ฐ์๋์ ์ํ๊ธฐ๊ฐ์๋ ํ๋ก์ ํธ๋ฅผ ๋ฉ์ถ์ง ์๊ณ ๊ฐ๋ฐํ๊ณ , ๋์ธ์ ์ผ๋ก๋ ์ฌ๋ฌ ํ๋์ ๊ฑฐ๋ญํ ๊ฒฐ๊ณผ
์ผ๋ฐ๋ถ์์๋ ๋ถ๊ตฌํ๊ณ ์ ๋ง ๊ฐ์ฌํ๊ฒ๋ ๊ณต๊ฐSW ๊ฐ๋ฐ์๋ํ์์ ๋์์ ์์ํ ์ ์์๋ค.
ํ์๋ถ๊ฐ ์๋์๋ ์ผ๋ฐ๋ถ๋ก ์ง์ํ ์ด์ ๋ ๊ฐ์ ๊ตฌ๋ฆ KDT ์ถ์ ์ FE ํ์๋ถ๊ณผ ์ฐธ๊ฐํ๊ณ ์ผ๋ฐ๋ถ์ ์์ค ๋์ ์ฐธ๊ฐ์ ๋ถ๋ค๊ณผ ์ค๋ ฅ์ ๊ฒจ๋ฃจ๊ณ ์ฑ์ฅํ๊ณ ์ ํ๋ ์ด์ ๋๋ฌธ์ด์๋ค.
2ํ๊ธฐ ์ค๊ฐ๊ณ ์ฌ ์ผ์ ๊ณผ ๋ผ์ด์ ์ค ๊ฒ์ฆ, ๊ธฐ๋ฅ ๊ฒ์ฆ, ๋ฉํ ๋ง ๋ฑ์ ์ผ์ ์ด ๊ฒน์ณ ํ๋ค์์ง๋ง ์ข์ ํ์๋ถ๋ค๊ณผ ํจ๊ปํ ๋๋ถ์ ์ฝ 1๋ ๋์์ ํ๋ก์ ํธ์ ๊ฒฐ์ค์ ๋งบ์ ์ ์์๋ค.
์ฝ 5๊ฐ์๋์ ๋ค์ํ ํํธ์์ ํด๊ฒฐ๋์ด์ผ ํ๋ ๊ณผ์ ๊ฐ ์กด์ฌํ๊ธฐ์, 2์ฃผ๋ฅผ ํ๋์ SPRINT๋ก ์ค์ ํ๊ณ ๊ณผ์ ๋ฅผ ๋ฐฐ์ ํ์ฌ ๊ฐ ํํธ๋ณ๋ก ๊ฐ๋ฐ, ๊ฒ์ฆ, ๊ณ ๋ํ ๊ณผ์ ์ ํตํด ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ์๋ค.
React, Spring Boot, FastAPI ์ธ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ํตํด์ ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ์์ผ๋ฉฐ
ํ๋ก ํธ์๋์ ๊ฒฝ์ฐ ์ต์ React Hooks ๋ฐ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๊ณ ์ํ ๋ฏน ๋์์ธ ์์คํ ์ ์ฐจ์ฉํ์๋ค.
๋ํ Spring Boot ๊ธฐ๋ฐ์ ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ถํ์์ผ๋ฉฐ RESTful API๋ฅผ ๊ตฌํํ๊ณ ๋ณด์ ๋ฐ ์ธ์ฆ ์์คํ ์ JWT Token์ ํตํด ํตํฉํ์๋ค.
FastAPI์ ๊ฒฝ์ฐ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐ ์ค์๊ฐ ์์ฑ์ธ์์ ๊ฐ๋ฅ์ผ ํ๊ธฐ ์ํด API ๊ธฐ๋ฐ์ LLM AI Model Serving LangChain์ ๊ตฌ์ถํ์๋ค.
ํ๋ก ํธ์๋ ์๋น์ค์ ๊ฐ ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ๊ธฐ ์ํด Git Workflow, Github Action, Jenkins๋ฅผ ํ์ฉํ์ฌ ์์ ํ CI/CD ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์๋ค.
๋ํ ์ฌ๋ฌ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ํ์ฉํ๊ธฐ ์ํด MariaDB์ MongoDB๋ฅผ ํ์ฉํ๊ณ ๋น์ฉ ์ ๊ฐ์ ์ํด AWS RDS๊ฐ ์๋ ์ธ๋ถ ์๋ฒ์ DB๋ฅผ ํธ์คํ ํ์์ผ๋ฉฐ
GPT API๋ฅผ ํ์ฉํ๋ ๋์ AMI, Spot Instance๋ฅผ ํตํด ๋ชจ๋ธ ๋ฐฐํฌ ํ๊ฒฝ์ ๊ตฌ์ถํ์ฌ MAU 1์ฒ๋ช ๊ธฐ์ค GPT API ๋๋น 60%, On-Demand ๋๋น 80%์ ๋ ๋ ๊ฒฝ์ ์ ์ธ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์์๋ค.
๋ํ ๊ฐ๋ฐ ๊ธฐ๊ฐ ์ค ๋ฆฌ์์ค๋ฅผ ์ ๊ฐํ๊ธฐ ์ํด CloudWatch, Lambda, Step Function์ ํ์ฉํด ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ์๋ค.
์ค์๊ฐ ์์ฑ-ํ ์คํธ ๋ณํ ๊ธฐ๋ฅ์ ์์ฑ ๋ฐ์ดํฐ๋ฅผ Socket.io, WebSocket์ ํตํด OpenAI Whisper ๋ชจ๋ธ์ ์ ๋ฌํ๊ณ , ๋ณํ ๊ฒฐ๊ณผ์ ์ ๋ขฐ๋๋ฅผ ๋์ด๊ธฐ ์ํด llama3 ๋ชจ๋ธ์ ํตํด ๋ฌธ๋งฅ๊ณผ ๋ณํ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ๋ค.
์ค์ ๋จ์ด ํ์ด๋ผ์ดํ ๊ธฐ๋ฅ์์๋ llama3 ๋ชจ๋ธ์ด ๋ณํ์ด ์๋ฃ๋ ์คํฌ๋ฆฝํธ ๋ด์ฉ์ ๋ถ์ํ๊ณ ํต์ฌ ํค์๋์ ์ค์ ๊ฐ๋ ์ ํ์ด๋ผ์ดํ ํ ํ ๋ฌธ๋จ ํํ๋ก ์ฌ๊ตฌ์กฐํ ํ๋ค.
๋ ๋์๊ฐ ์ ํํ์ง ๋ชปํ ์์ฑ ์ธ์ ๊ฒฐ๊ณผ๋ฅผ ์์ ํ์ฌ ์ด๋ฅผ ํตํด ์ฅ์ ํ์ฐ๋ค์ ํ์ต ํจ์จ์ ํฅ์์ํค๊ณ ๋ณต์ต ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ค.
์ธ๊ณต์ง๋ฅ ๋ง์ถคํ ๋ฌธ์ ์์ฑ ๊ธฐ๋ฅ์ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉ์์ธ ์ฅ์ ํ์ฐ๋ค์ด ๊ฐ์ ๋ด์ฉ์ ๋์ฑ ์ํํ๊ฒ ํ์ตํ ์ ์๋๋ก ๋ณํ๋ ํ ์คํธ์ ๊ธฐ๋ฐํ์ฌ ์๋์ผ๋ก ๋ฌธ์ ๋ฅผ ์์ฑํ๋ค.
๋ง์ง๋ง์ผ๋ก ๊ณ ๋ฑ๊ต์ก ๊ธฐ๊ด์ ์ฅ์ ํ์ฐ๋ค์ ํธ์๋ฅผ ์ํด ๋ณํ๋ ๊ฐ์ ์คํฌ๋ฆฝํธ๋ฅผ ์๊ฐํ ํ์์ผ๋ก ์ง๊ด์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋๋ก ๊ธฐ๋ฅ์ ๊ตฌํํ์๋ค.
Hearus๋ฅผ ์คํ์์ค ํ๋ก์ ํธ๋ก์ ๋ ๋ง์ ์ฌ๋๋ค๊ณผ ํจ๊ป ๋ฐ์ ์ํค๊ธฐ ์ํด ์์ ๊ฐ์ด ์ํ๋ ๋ผ์ด์ ์ค๋ฅผ ์ฑํํ์๋ค.
๋ํ ์คํ์์ค ํ๋ก์ ํธ ๊ธฐ์ฌ ํ๊ฒฝ์ ๋ง๋ค์ด๋์๊ฐ๊ธฐ ์ํด, ๊ฐ ํ๋ก์ ํธ Repository ๋ณ๋ก ์์ ๊ฐ์ด ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฑ๊ณผ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ ์๋ดํ๋ Wiki ํ์ด์ง๋ฅผ ๊ตฌํํ์๊ณ
๋ํ ๋ฐฑ์๋ Repository์ ๊ฒฝ์ฐ ํ์ฌ ๊ตฌํ๋์ด ์๋ ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ ๋ํ RESTful API ์์ฒญ, ์๋ต์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ธฐ์ฌํจ์ผ๋ก์ ๋์ฑ ์ํํ ๊ธฐ์ฌ ํ๊ฒฝ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ธ๋ ฅํ์๋ค.
์ด 6๋ช
์ ํ์๋ค์ด ํํธ๋ฅผ ๋๋์ด ํจ๊ป ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ์๋ค.
๊ฐ ํํธ ๋ชจ๋ ๋งค์ฃผ 2ํ์ฉ ์งํ๋๋ Scrum์์ ์งํ ์ฌํญ์ ๊ณต์ ํ๊ณ ๋ฐฉํฅ์ฑ์ ํ๋ฆฝํ๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ์๋ค.
์์ฐ์์ | ์ฃผ์ ๊ธฐ๋ฅ ์์ฐ์์ |
---|---|
https://youtu.be/lB3ca2H8BLo | https://youtu.be/Du9uL2UWUPo |
HEARUS-REACT-FRONTEND | HEARUS-SPRING-BACKEND | HEARUS-AI-SERVING |
---|---|---|
https://github.com/TEAM-Hearus/HEARUS-REACT-FRONTEND | https://github.com/TEAM-Hearus/HEARUS-SPRING-BACKEND | https://github.com/TEAM-Hearus/HEARUS-AI-SERVING |