๐ Tech Stack: Python (Flask), LangChain, Gemini API, FAISS, PostgreSQL, Docker, Swagger
- AI ์ฑ๋ด ๋ฐฑ์๋ ๊ฐ๋ฐ: LangChain + FAISS ๊ธฐ๋ฐ ๋ฒกํฐ ๊ฒ์ ๋ฐ ์ต์ ํ
- ํ๋กฌํํธ ์์ง๋์ด๋ง: AI์ ๋ฌธ๋งฅ ์ ์ง, ์ถ์ฒ ์ ๊ณต ๊ธฐ๋ฅ ๊ฐ์
- API ๊ฐ๋ฐ ๋ฐ ๋ฌธ์ํ: Flask-RESTX ๊ธฐ๋ฐ ๋ฐฑ์๋ ๊ตฌ์ถ + Swagger ๋์
- ๋ฐฐํฌ ๋ฐ ํ๊ฒฝ ์ค์ : Docker ์ปจํ
์ด๋ํ + AWS RDS ํ์ฉ
๐๏ธ Inflow Chat ๊ฐ๋ฐ ํ๊ณ : ์ฌ๋ด ๋ฌธ์ ๊ธฐ๋ฐ AI ์ฑ๋ด์ ๋ง๋ค๋ฉฐ
๐ ํ๋ก์ ํธ ๊ฐ์
์ง๋ ํ ๋ฌ ๋์, Rikkei์์ ์งํํ ์ธํด์ญ์ ํตํด ์ฌ๋ด ๋ฌธ์ ๊ธฐ๋ฐ AI ์ฑ๋ด์ธ Inflow Chat์ ๊ฐ๋ฐํ๋ค.
๊ด๋ฆฌ์๊ฐ PDF, DOCX, Weblink๋ฅผ ์
๋ก๋ํ๋ฉด ๋ฌธ์๋ฅผ ๋ถ์ํ๊ณ ๋ฒกํฐํํ์ฌ ์ ์ฅํ๊ณ , ์ฌ์ฉ์๋ ์ฑ๋ด์ ํตํด ์ง๋ฌธ์ ํ๋ฉด ๋ฒกํฐ DB(FAISS)๋ฅผ ํ์ฉํ์ฌ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐพ์ LLM(Gemini API)๋ฅผ ํตํด ๋ต๋ณ์ ์์ฑํ๋ ๊ตฌ์กฐ๋ค.
๐ฏ ๊ธฐ์ ์คํ
- Backend: Flask
- AI/LLM: LangChain, Gemini API
- Vector DB: FAISS
- Database: PostgreSQL (AWS RDS)
- Container: Docker
๐ก ๋ด ์ญํ
- ๋ฌธ์(์น ๋งํฌ) ํ์ฑ ๋ฐ ๋ฒกํฐ DB ์ ์ฅ
(BeautifulSoup, FAISS, PostgreSQL)
- ์ฌ์ฉ์ ์ง๋ฌธ์ ๋ฒกํฐํํ๊ณ ๊ด๋ จ ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ ์์คํ
๊ตฌ์ถ
(LangChain, FAISS)
- LLM(Gemini) ๊ธฐ๋ฐ ์๋ต ์์ฑ ๋ฐ ํ๋กฌํํธ ์ต์ ํ
(ํ๋กฌํํธ ์์ง๋์ด๋ง)
- ์ฌ์ฉ์ ์ฑํ
๊ธฐ๋ก(์ต๊ทผ 10๊ฐ ์ง๋ฌธ) ์ ์ฅ ๋ฐ ๋ฌธ๋งฅ ์ ์ง ๊ธฐ๋ฅ ์ถ๊ฐ
(PostgreSQL, Flask)
- ๋ฒกํฐ DB ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ์ฒญํฌ ์ฌ์ด์ฆ ์คํ
(LangChain, similarity_search_with_score)
- ํ์
ํ๊ฒฝ ์ธํ
(Docker ์ปจํ
์ด๋ํ, GitHub ๋ธ๋์น ์ ๋ต ๋์
)
๐ ์ธํด ํ๊ณ - ๋ช
ํํ ๊ธฐํ๊ณผ ์๊ตฌ์ฌํญ, ๊ทธ๋ฆฌ๊ณ ํ์
์ ๊ฐ์น
๐ฏ ์ ์์ผ ์คํฌ๋ผ ๋ฐฉ์์ ๊ฐ๋ฐ ๊ฒฝํ
์ด๋ฒ ์ธํด์ญ์์๋ ์ ์์ผ ์คํฌ๋ผ ๋ฐฉ์์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค.
PM๊ณผ PO๊ฐ ์ฒด๊ณ์ ์ผ๋ก Task๋ฅผ ๊ด๋ฆฌํด์ค ๋๋ถ์,
โ
๋ด๊ฐ ์ง๊ธ ๋ฌด์์ ํ๊ณ , ํ๊ณ ์๊ณ , ํ ๊ฒ์ธ์ง ๋ช
ํํ๊ฒ ํ์
ํ ์ ์์๋ค.
์ด์ ์ ํ ํ๋ก์ ํธ์์๋ ๊ธฐํ ๋จ๊ณ๋ถํฐ ์ฐธ์ฌํ๋ค.
- ๋ฌธ์ ์ํฉ์ ๋ถ์ํ๊ณ , ํ์ธํฌ์ธํธ๋ฅผ ์ ์ํ๊ณ , ์๋ฃจ์
์ ๊ตฌ์ํ๋ ๊ณผ์ ์์๋ถํฐ ์์.
- ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ธฐํ์ ๋ง์ถฐ ๊ฐ๋ฐ์ ์งํ.
ํ์ง๋ง ํ์ฌ๋ ๋ฌ๋๋ค.
- ํ์ฌ์์๋ ์ด๋ฏธ ๊ธฐํ๊ณผ ์๊ตฌ์ฌํญ์ด ๋ช
ํํ๊ฒ ์ ์๋์ด ์์๋ค.
- ์ด ๋ฌธ์๋ฅผ ๋ฐํ์ผ๋ก ์์คํ
์ ์ค๊ณํ๊ณ , ๊ฐ๋ฐํด์ผ ํ๋ค.
๐ System Requirements (์์คํ
์๊ตฌ์ฌํญ)
- User Types, Authentication, Employee Interface, Admin Interface
๐ Technical Requirements (๊ธฐ์ ์๊ตฌ์ฌํญ)
- Architecture, Deployment, Code Management, Security, Performance, Streaming
์ด ๋ฌธ์๋ฅผ ๋ถ์ํ๋ฉฐ, ํ์ํ ๊ธฐ๋ฅ์ ๋์ถํ๊ธฐ ์ํด Use Case๋ฅผ ๊ณ ๋ คํ๊ณ Use Diagram์ ๊ทธ๋ ธ๋ค.
๐ ์ํํธ์จ์ด ์ค๊ณ - ์ด๋ก ๊ณผ ์ค๋ฌด์ ์ฐจ์ด
๐ก ์ํํธ์จ์ด ์ค๊ณ ๊ณผ๋ชฉ์์ ๋ฐฐ์ด ๊ฒฝํ
์ธํด์ ์ค๊ธฐ ์ง์ ํ๊ธฐ์ ์ํํธ์จ์ด ์ค๊ณ ๊ณผ๋ชฉ์ ์๊ฐํ๋ค.
์ ๋ง ํฅ๋ฏธ๋ก์ ๋ ์์
์ด์๊ณ , ์ปค๋ฆฌ์ด๋ฅผ ์ด์ชฝ์ผ๋ก ํค์๊ฐ๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค ์ ๋๋ก ์ฌ๋ฏธ์์๋ค.
๊ทธ๋ ์งํํ ๊ธฐ๋ง ํ๋ก์ ํธ:
- ํน์ ์ํํธ์จ์ด๋ฅผ ์ ํํ์ฌ Use Case ์์ฑ โ Use Diagram, Class Diagram, Sequence Diagram ์ค๊ณ.
- ๊ต์๋์ 5๋ฒ ๋๊ฒ ์ฐพ์๊ฐ๋ฉฐ ์ง๋ฌธํ๊ณ , ์ ๋ง ๋ฏธ์น๋ฏ์ด ์ด์ฌํ ๊ณต๋ถํ๋ค.
- ๋ฐํ์ ์ค์ต ๋ชจ๋ 1๋ฑ! ๋น์ฐํ A+
ํ์ง๋ง ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๊ฐ์ฅ ํผ๋์ค๋ฌ์ ๋ ๊ฒ์ ๋ช
ํํ ์๊ตฌ์ฌํญ์ด ์์๋ค๋ ๊ฒ์ด์๋ค.
- ๋ด๊ฐ ์ง์ ๊ธฐํํ ํ๋ก์ ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋ฅผ ํ๋ค ๋ณด๋,
- ๋ด๊ฐ ์๊ฐํ๋ ๋ฐฉํฅ์ด ๋ง๋์ง ํ์ ์ด ์์๋ค.
- ํ๋ก์ ํธ ์ด๋ฐ์๋ "์ ์ฒด ๋ฆฌ๋ฌ์ ๋ง์ถ ๊ฒ์"์ด์์ง๋ง, ๋์ ๊ฐ์๋ "๋งฅ๋ฐ๊ณผ ํ์ ๊ธฐ๋ฐ ๊ฒ์"์ด ๋์ด๋ฒ๋ ธ๋ค.
์ด ๊ฒฝํ์ ํตํด ๋ช
ํํ์ง ์์ ์๊ตฌ์ฌํญ์ ์์คํ
์ค๊ณ์์ ํผ๋์ ์ผ์ผํฌ ์ ์๋ค๋ ์ ์ ๊นจ๋ฌ์๋ค.
๐ ๏ธ ๋ช
ํํ ์๊ตฌ์ฌํญ์ด ์ฃผ์ด์ง ํ๊ฒฝ์์์ ๊ฐ๋ฐ
์ธํด์ญ์์๋ ์ด์ ์ ํ ํ๋ก์ ํธ์๋ ๋ค๋ฅด๊ฒ, ๋ช
ํํ ๊ธฐํ๊ณผ ์๊ตฌ์ฌํญ์ด ์์๋ค.
- ๊ธฐํ ๋ฌธ์๋ฅผ ๋ถ์ํ๋ฉด์ ํ์ํ ๊ธฐ๋ฅ์ ๋์ถํ๊ณ ,
- Use Case๋ฅผ ์ ๋ฆฌํ๊ณ , Use Diagram์ ์์ฑํ๋ฉฐ ๊ธฐ๋ฅ์ ๋ฆฌ์คํธ์
ํ๋ค.
๊ฐ์ธ ํ๋ก์ ํธ์์ ํผ์ ๊ธฐํ๋ถํฐ ํ๋ ๊ฒฝํ๊ณผ ๋น๊ตํ๋ฉด, ๋๋ฌด๋๋ ๋ช
ํํ ํ๋ก์ธ์ค์๋ค.
๐ ์ค์ ๊ฒฝํํ User Validation ๊ณผ์
- ์ค๊ณํ ๊ธฐ๋ฅ๊ณผ Use Diagram์ ๋ฉํ ๋ฐ PO์ ํจ๊ป ๊ฒํ ํ๋ฉฐ Validation์ ๋ฐ์๋ค.
- ์ํํธ์จ์ด ์ค๊ณ ๊ณผ๋ชฉ์์ ๋ฐฐ์ด ๊ฐ๋
์ ์ค๋ฌด์์ ์ ์ฉํ๋ ์๊ฐ์ด์๋ค!
- ๋ฐฐ์ด ๊ฐ๋
์ ์ง์ ํ์ฉํ๋ค๋ ๊ฒ์ด ๋๊ทผ๊ฑฐ๋ ธ๊ณ , ๋์ ์ค๊ณ๊ฐ ๊ธ์ ์ ์ธ ํ๊ฐ๋ฅผ ๋ฐ์ ๊ฒ๋ ๊ธฐ๋ปค๋ค.
๐ค ํ ๋ฏธํ
์์ ํ์์ ๋ชฉ์ ์ ์๊ธฐํ๋ค
๐ก ํ์์์ ์๊ฒฌ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ ์๊ฐ
- ์ฐ๋ฆฌ๋ Wire Frame๊ณผ User Flow๋ฅผ ๊ฒํ ํ๋ ํ์๋ฅผ ์งํํ๊ณ ์์๋ค.
- ํ์ง๋ง ๊ฐ์๊ธฐ ํ์ ์ค ํ ๋ช
์ด UI ๋์์ธ์ ๋
ผ์ํ๊ธฐ ์์ํ๋ค.
- ๋ฒํผ ๋ชจ์์ Square vs Round?
- ์์์ Red vs White?
- ์ด ํ์์ ๋ชฉ์ ๊ณผ ๋ค์ ๋ฒ์ด๋ ๋
ผ์์๋ค.
๋๋ ๊ฐ๋ฐํ ์์์ด์๊ธฐ ๋๋ฌธ์,
UI ์ค๊ณ๋ณด๋ค๋ ์์คํ
๋์๊ณผ ๋ฐ์ดํฐ ํ๋ฆ์ ํ์ธํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ผ๊ณ ์๊ฐํ๋ค.
ํ์ง๋ง ๋ฐ๋ก ์๊ฒฌ์ ์ ์ํ๋ ๊ฒ์ด ์๋๋ผ,
๐ ๋จผ์ PO์๊ฒ ๋ด ์
์ฅ์ ๊ฐ๋ตํ๊ฒ ์ ๋ฌํ๋ค.
๐ ๊ทธ๋ฆฌ๊ณ UI๋ฅผ ๋
ผ์ํ๋ ํ์์๊ฒ ์กฐ์ฌ์ค๋ฝ๊ฒ "ํ์์ ๋ชฉ์ ์ ๋ค์ ํ๋ฒ ์๊ฐํด๋ณด์"๊ณ ์ ์ํ๋ค.
๐ ๊ฒฐ๊ณผ:
โ
ํ์๋ ๋ด ์๊ฒฌ์ ๋์ํ๊ณ , ํ์๊ฐ ์๋ ๋ชฉ์ ๋๋ก ์งํ๋์๋ค.
โ
์๋๋ฐฉ์ ์๊ฒฌ์ ์กด์คํ๋ฉด์๋, ํ์ ๋ชฉ์ ์ ์๊ธฐ์ํค๋ ์ปค๋ฎค๋์ผ์ด์
์ ์ค์์ฑ์ ๋ฐฐ์ ๋ค.
โ
์๋๋ฐฉ์ด ๊ธฐ๋ถ ๋์์ง ์๊ฒ ๋ด ์๊ฒฌ์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ฏผํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๐ ์ฒด๊ณ์ ์ธ ํ๋ก์ ํธ ๊ด๋ฆฌ - WBS, Gantt Chart ํ์ฉ
๐ ์ ๋ฌธ์ ์ธ ํ๋ก์ ํธ ๊ด๋ฆฌ ๊ฒฝํ์ด ๊ฐ์ฅ ์ธ์์ ์ด์๋ค.
- PO๊ฐ ์๊ตฌ์ฌํญ ๋ช
์ธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ WBS(์์
๋ถ๋ฅ ๊ตฌ์กฐ)์ Gantt Chart(์ผ์ ๊ด๋ฆฌ ์ฐจํธ)๋ฅผ ์์ฑ.
โ
WBS (Work Breakdown Structure)
- ๋ชจ๋๋ณ๋ก Use Case๊ฐ ๋ช
์ธํ๋์ด ์์ด, ํ๋์ ๋ณด๊ธฐ ํธํ๋ค.
โ
Gantt Chart (๊ฐํธ ์ฐจํธ)
- ๊ฐ Task์ ์งํ ์ํ, ์์ ์์ ์๊ฐ, ๋ด๋น์(PIC), ์งํ ์ฌ๋ถ๋ฅผ ์๊ฐ์ ์ผ๋ก ํ์ธํ ์ ์์๋ค.
๐ Trello์ Teams๋ฅผ ํ์ฉํ ํ์
- Trello ๋ณด๋๋ฅผ ํตํด ToDo / Doing / Done ์ํ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌ.
- ํผ๋์ด ์ฌ ๋๋ง๋ค Gantt Chart์ Trello๋ฅผ ๋ณด๋ฉด์ ๊ฐ๋ฐ์ ์งํ.
- ๋ค๋ฅธ ํ์์ ์งํ ์ํฉ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๋ฉฐ, ์ด์๊ฐ ์๊ธธ ๊ฒฝ์ฐ ๋น ๋ฅด๊ฒ ๋์ ์์ฒญ ๊ฐ๋ฅ.
์ด์ ํ์ฌ์์๋ Jira๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฒ์์๋ ์นธ๋ฐ ๋ณด๋๋ ๋ฐฑ๋ก๊ทธ ๊ฐ๋
์ด ์ด๋ ค์ ๋ค.
์ด๋ฒ ์ธํด์ญ์์๋ Trello๋ฅผ ํ์ฉํ๋ฉด์ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ฅผ ํ์ธต ๋ ์ฝ๊ฒ ์ดํดํ ์ ์์๋ค.
๐ ์ปค๋ฎค๋์ผ์ด์
์ ์ค์์ฑ
- ํ์ ์ค ํ ๋ช
์ด ์์ ์ Task ์งํ ์ํฉ์ ๋ช
ํํ๊ฒ ๊ณต์ ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ์์๋ค.
- ๋๋ PO๊ฐ ์งํ ์ํฉ์ ๋น ๋ฅด๊ฒ ํ์
ํ ์ ์๋๋ก Teams์ ์ง์์ ์ผ๋ก ์
๋ฐ์ดํธํ๋ค.
- PO๊ฐ ๊ตณ์ด ๋ด ์๋ฆฌ๊น์ง ์์ ๋ฌผ์ด๋ณด์ง ์์๋, ๋ด๊ฐ ์งํํ๋ Task๋ฅผ ํ๋์ ๋ณผ ์ ์๋๋ก ๋ฐฐ๋ คํ๋ค.
๐ข ์คํฌ๋ผ & ๋ฐ์ผ๋ฆฌ ๋ฏธํ
์ ํตํ ํผ๋๋ฐฑ
- ๋งค์ผ 11์ ๋ฐ์ผ๋ฆฌ ๋ฏธํ
์ ์งํํ๋ค.
- ์์ ์ด ์ด์ ๋ฌด์์ ํ๊ณ , ์ค๋ ๋ฌด์์ ํ ๊ฒ์ธ์ง ๊ณต์ .
- ๋ฉํ ๋๋ค๋ ์ฐธ์ฌํ์ฌ, ๋ ์นด๋ก์ด ์ง์์๋ต์ ํตํด ํผ๋๋ฐฑ์ ์ ๊ณต.
๐ก "์?"๋ผ๋ ์ง๋ฌธ์ ์ค์์ฑ
- ๊ฐ๋ฐ์ ํ๋ฉด์ ๋จ์ํ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ด ์๋๋ผ, ์ ์ด๋ ๊ฒ ์ค๊ณํ๋์ง ์ค๋ช
ํ ์ ์์ด์ผ ํ๋ค.
- ๋ฉํ ๋๋ค์ ์ง๋ฌธ์ ๋ต๋ณํ๋ฉด์, ๋ด ์ฝ๋์ ์ค๊ณ์ ๋ํด ๋์ฑ ๊น์ด ๊ณ ๋ฏผํ๊ฒ ๋์๋ค.
๐ ๏ธ ์์์ด ์ ํ๋ ํ๊ฒฝ์์ ์ต์ ์ ์ํคํ
์ฒ ์ค๊ณ
๐ Local ํ๊ฒฝ์์ ๊ฐ๋ฐํด์ผ ํ๋ค๋ ์ ํ ์ฌํญ
- ๋๋ ๋ฐฐํฌ ๋ฐ ํด๋ผ์ฐ๋ ์๋ํ์ ๊ด์ฌ์ด ๋ง์์ง๋ง, ์ด๊ธฐ ๊ฐ๋ฐ์ Local์์ ์งํํด์ผ ํ๋ค.
- ์์์ด ๋ถ์กฑํ ํ๊ฒฝ์์ ๊ฐ์ฅ ์ต์ ํ๋ ์ํคํ
์ฒ๋ฅผ ๊ณ ๋ฏผํด์ผ ํ๋ค.
๐ AI ๋ชจ๋ธ ์ ํ
- ์ฒ์์๋ ๊ฒฝ๋ํ๋ ๋ชจ๋ธ์ ์ง์ ํ์ฉํ๋ ค ํ์ง๋ง, ๋ฆฌ์์ค ๋ถ์กฑ์ผ๋ก Gemini API๋ฅผ ์ ํ.
๐ ๊ธฐ์ ์คํ ๊ฒฐ์
- ๋๋ Java Spring Boot ๊ฐ๋ฐ์์ง๋ง,
- ํ์๋ค์ ๊ฐ๋ฐ ๊ฒฝํ์ ๊ณ ๋ คํ์ฌ Flask๋ก ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ต์ ์ด๋ผ๋ ๊ฒฐ๋ก .
โจ ๋ฐฐ์ด ์ & ์ฑ์ฅํ ์
โ
๋ช
ํํ ์๊ตฌ์ฌํญ์ด ์์ ๋ ๊ฐ๋ฐ์ด ํจ์ฌ ํจ์จ์ ์ด๋ค.
โ
์ปค๋ฎค๋์ผ์ด์
์ด ํ๋ก์ ํธ์ ์ฑ๊ณต์ ๊ฒฐ์ ํ๋ค.
โ
๋ฐ์ผ๋ฆฌ ๋ฏธํ
๊ณผ ํผ๋๋ฐฑ์ ํตํด ๋์ ์ฌ๊ณ ๋ ฅ์ด ํ์ฅ๋์๋ค.
โ
์ ํ๋ ๋ฆฌ์์ค์์๋ ์ต์ ์ ๊ธฐ์ ์ ํ์ ํด์ผ ํ๋ค.
์ฑ์ฅํ ์ ๊ณผ ํ๋์ ๋ํ ํ๊ณ
- ๋์ ์ ๋๋ ค์ํ์ง ์๊ณ ๋์์์ด ์ฑ์ฅํ๋ ค๊ณ ํ๋ ์์ธ
๐ ๋์ ! AI ๊ทธ๋ฆฌ๊ณ Flask, PostgreSQL
๐ก ์๋ก์ด ์ญํ , ์๋ก์ด ๋์
์ญํ ์ ๋ถ๋ฐฐํ๊ธฐ ์ํด ๋ฐ์ผ๋ฆฌ ๋ฏธํ
์์ ํ์๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋์๋ค.
๊ทธ ์๋ฆฌ์์ ๋๋ "๋์ ์ ๋๋ ค์ํ์ง ์๊ณ ์คํ๋ ค ์ข์ํ๋ค."
๊ทธ๋ฆฌ๊ณ "Challengingํ Task ์์์ ์ฑ์ฅํ ์ ์๋ค๋ฉด ๊ทธ๊ฒ์ด ๋ ์ข๋ค." ๋ผ๊ณ ๋งํ๋ค.
AI๋ฅผ ๋ค๋ค๋ณธ ์ ์ ์์๊ณ , ์ดํด๋๋ ๋ฎ์๋ค. ํ์ง๋ง ๋ฐฑ์๋์์ AI๋ฅผ ๊ตฌํํ๋ ๊ฒฝํ์ ์๊ณ ์ถ์๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ AI ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋งก๊ฒ ๋์๋ค.
์์ง ๋ชจ๋ฅด๋ ๊ฒ์ด ๋ง์์ง๋ง, ๋ฐฐ์๊ฐ๋ฉด์ ๋ง๋ค์ด ๋๊ฐ๋ ๊ณผ์ ์์ฒด๊ฐ ๋์๊ฒ ํฐ ๋๊ธฐ๋ถ์ฌ๊ฐ ๋์๋ค.
๐ ๊ณต๋ถ๋ ์
ํ, ์คํผ๋๋ ์๋ช
์ฐ๋ฆฌ๋ ์ ์์ผ ์คํฌ๋ผ ๋ฐฉ์์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค.
๐ ๋งค์ผ ๋ฐ์ผ๋ฆฌ ๋ฆฌํฌํธ ์์ฑ & ์คํฌ๋ผ ๋ฏธํ
์งํ
๐ ๋งค์ฃผ ๊ธ์์ผ๋ง๋ค ์คํ๋ฆฐํธ์ ๋ง์ถฐ ๋ฐ๋ชจ ๋ฐํ
AI ์๋ฒ ์ญํ ์ ๋งก์ ์ด์, ๋งค์ฃผ ๊ฐ๋ฐํด์ผ ํ๋ ๋ชฉ๋ก์ ๋ง์ถฐ์ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ณ ์๋ฌ๋ ํด๊ฒฐํด์ผ ํ๋ค.
๋ด๊ฐ ๋ชจ๋ฅด๋ฉด ์ค์ค๋ก ๊ณต๋ถํด์ผ ํ๋ค.
Flask๋ ์ฒ์์ธ๋ฐ AI ์๋ฒ๊น์ง ๊ตฌํํด์ผ ํ๋ค๋..
๊ทธ์ผ๋ง๋ก ๋์ ๊ทธ ์์ฒด์๋ค.
ํด๊ทผ ํ, ์๋ฒ ๊ตฌํ์ ์ํ AI ํ๋ฆ์ ์ดํดํ๊ธฐ ์ํด ๋
ผ๋ฌธ์ ์ฝ๊ณ , ์ ํ๋ธ ๊ฐ์๋ฅผ ๋ณด๊ณ , LangChain ๊ณต์ ๋ฌธ์๋ฅผ ๋ณ๋๋ก ์ฝ์๋ค.
ํ 2~3์ผ ๋์ ์ฃฝ์ด๋ผ ๊ณต๋ถํ๋๊น ๋จธ๋ฆฟ์์ผ๋ก ๊ทธ๋ฆผ์ด ๊ทธ๋ ค์ก๋ค.
ํด๊ทผํ๊ณ ๋ฐฅ ๋จน์ผ๋ฉด์๋ ๊ณ์ ๊ณต๋ถํ ๋ณด๋์ด ์์๋ค.
โ๏ธ ๋ฎ์๋ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ๊ณ , ๐ ๋ฐค์๋ ๊ณต๋ถํ๋ ํจํด์ ๋ฐ๋ณตํ๋ค.
์ด ๊ณผ์ ๋๋ถ์ ๊ฒฐ๊ณผ๋ฌผ๋ ๊ธฐ๊ฐ ๋ด์ ๋์๊ณ , ์ต์ ํ ์์
์ ํ ์ ์๋ ์๊ฐ๊น์ง ํ๋ณดํ ์ ์์๋ค.
๐ฅ ์ด๋ฒ ์ธํด์ญ์์์ ์ฑ์ฅ๊ณผ ๋ฐฐ์ด ์
๐ก AI ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก์์ ๋์
- ์๋ก์ด ๊ธฐ์ ์ ์ ํ ๋ ๊ฒ๋จน์ง ์๊ณ ์ ๊ทน์ ์ผ๋ก ๋ฐฐ์ฐ๋ ค๋ ํ๋๊ฐ ์ค์ํ๋ค.
- AI๋ฅผ ์ฒ์ ๋ค๋ค์ง๋ง, ๋ชฐ์
ํด์ ๊ณต๋ถํ๋ฉด ๊ฒฐ๊ตญ ๊ธธ์ด ๋ณด์ธ๋ค.
๐ก ๋น ๋ฅธ ๊ฐ๋ฐ & ์ต์ ํ์ ๊ท ํ
- ๊ฐ๋ฐ ์๋๋ ์ค์ํ์ง๋ง, ๊ฒฐ๊ตญ์๋ ์ต์ ํ๊น์ง ๊ณ ๋ คํด์ผ ํ๋ค.
- ๊ธฐ๊ฐ ๋ด์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ, ๋ ๋์ ์ฑ๋ฅ์ ๊ณ ๋ฏผํ ์ฌ์ ๊น์ง ํ๋ณดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๐ก ์ค์ค๋ก ์ฑ์ฅํ๋ ๋ฒ์ ๋ฐฐ์ด ๊ฒฝํ
- ์ฑ
์๊ฐ ์๋ ์ญํ ์ ๋งก์ผ๋ฉด, ์์ฐ์ค๋ฝ๊ฒ ์ฑ์ฅํ๊ฒ ๋๋ค.
- ํด๊ทผ ํ์๋ ์ค์ค๋ก ๊ณต๋ถํ๋ ์์ธ๊ฐ ๊ฒฐ๊ตญ ๋๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅ์ํจ๋ค.
โจ ๋ด ์ธํด์ญ์ ํค์๋: "์ฑ์ฅ" ๊ทธ๋ฆฌ๊ณ "๋์ "
์ด๋ฒ ์ธํด์ญ์ ๋์๋ณด๋ฉด, ๋ด ์ค์ค๋ก์ ํค์๋๋ ๋จ์ฐ "์ฑ์ฅ"๊ณผ "๋์ "์ด์๋ค.
๋ฏ์ ๊ธฐ์ , ์ฒ์ ๋ค๋ฃจ๋ ๋๋ฉ์ธ์์๋ ๋๋ ค์ํ์ง ์๊ณ ๋ถ๋ชํ๋ฉฐ ์ฑ์ฅํ๋ค.
์ง๊ธ ๋์๋ณด๋ฉด, Flask๋ ์ฒ์์ด์๊ณ , AI ๋ฐฑ์๋๋ ์ฒ์์ด์์ง๋ง, ๊ฒฐ๊ตญ ํด๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ณผ์ ์์ ์ง์ง ์ฑ์ฅํ๋ค๋ ๊ฑธ ๋๋๋ค.
๐ "์์ผ๋ก๋ ์ด๋ค ๋์ ์ด ์ค๋๋ผ๋, ๋๋ ์ฑ์ฅํ ์ค๋น๊ฐ ๋์ด ์๋ค."
๐ฏ ์ธํด์ญ์ ๋ง์น๋ฉฐ - ๋๋ ์ ์ ๋ฆฌ
1๏ธโฃ ๋ฉํ ๋๊ป ๊ฐ์ฌ ๐
- ๋งค์ผ ์งํ๋ ๋ฐ์ผ๋ฆฌ ๋ฏธํ
๊ณผ ๋ฐ๋ชจ ๋ฏธํ
์ ํตํด ์ง์์ ์ผ๋ก ๊ด๋ฆฌ & ํผ๋๋ฐฑ์ ์ฃผ์ ๋ฉํ ๋.
- ๋จ์ํ ํผ๋๋ฐฑ์ด ์๋๋ผ, "๋๋ ๋ Completeํ๊ฒ ํ ์ ์๋ค. ๋ ์ํ ์ ์๋ค." ๋ผ๋ ์กฐ์ธ์ ์ฃผ์๋ฉฐ ์ฑ์ฅํ ๊ธฐํ๋ฅผ ๋ง๋ค์ด ์ฃผ์
จ๋ค.
- ๊ฐ๋ฐ ์๋๊ฐ ๋น ๋ฅด๊ณ , ์ปค๋ฎค๋์ผ์ด์
๋ฅ๋ ฅ์ด ์ข์ผ๋ฉฐ, ์ฐ์ ์์๋ฅผ ์ ์ ํด์ ์ผํ๋ค๋ ์นญ์ฐฌ์ ๋ฐ์ ์ ์์ด ๋ฟ๋ฏํ๋ค.
- ๋ฐ๋ชจ ๋ฏธํ
๋๋ ๋ด๊ฐ ์๊ฐํ์ง ๋ชปํ๋ ์ด์๋ค์ ์บ์นํด์ ์ง์ ํด์ฃผ์
จ๊ณ , ์ด๋ฅผ ํตํด ํ์ธต ๋ ์ฑ์ฅํ ์ ์์๋ค.
2๏ธโฃ ์์ฌ์ด ์ ๐ค
3๏ธโฃ ๋์ ํ๊ณ ์ฑ์ฅํ ๋ ์์ ์ด ๋๊ฒฌํ๋ค ๐ช
- ์ฒ์ ์ ํ๋ ๊ธฐ์ ์ด ๋ง์๊ณ , ๋์ ์ ์ธ ํ๊ฒฝ์ด์์ง๋ง, ๋๋ ค์ํ์ง ์๊ณ ๋ถ๋ชํ๋ฉฐ ์ฑ์ฅํ๋ค.
- ์์ด ์ค๋ ฅ๋ ๋ง์ด ๋์๋ค!
- ๋ฌธ์๋ฅผ ์ฝ๊ณ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ ์ดํดํ๋ ๊ฒ์ด ํจ์ฌ ์์ํด์ก๋ค.
- ๋ฌด์๋ณด๋ค, ๋์ ์ ๋๋ ค์ํ์ง ์๋ ๋ด ์์ธ๊ฐ ๋๋ฌด ๋ฉ์ก๋ค๊ณ ์๊ฐํ๋ค.
- ๋ชจ๋ฅด๋ ๊ฒ์ ๋ฐฐ์ฐ๊ธฐ ์ํด ๊น์ด ํ๊ณ ๋ค์๊ณ , ๋น ๋ฅด๊ฒ ์ต๋ํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋๋ค.
- ์ธํด ๊ธฐ๊ฐ ๋์, "๋ด๊ฐ ์๊ฐ๋ณด๋ค ๋ ๋ง์ ๊ฒ์ ํ ์ ์๊ตฌ๋" ๋ผ๋ ์์ ๊ฐ์ ์ป์๋ค.
๐ "์์ผ๋ก ์ด๋ค ๋์ ์ด ์๋, ๋๋ ํด๋ผ ์ ์๋ค."
๐ "์ด๋ฒ ์ธํด์ญ์ ํตํด, ๋๋ ํ์ธต ๋ ์ฑ์ฅํ ๊ฐ๋ฐ์๊ฐ ๋์๋ค."