์ด ํ๋ก์ ํธ๋ ์ฌ์ฉ์๊ฐ ๋ฆฌ๋ทฐ(๊ธ๊ณผ ์ฌ์ง)๋ฅผ ์ฌ๋ฆฌ๋ฉด ๊ด๋ จ๋ ํด์ํ๊ทธ๋ฅผ ์์ฑํ๊ณ , ์์ฑ๋ ํด์ํ๊ทธ๋ฅผ ํตํด ๋น์ทํ ์ฌ์ฉ์์ ์นดํ๋ฅผ ์ฐพ์์ ๊ฐ์ธํ๋ ์ถ์ฒ์ ์ ๊ณตํ๋ค.
- ๋ฆฌ๋ทฐ ๊ฒ์๊ธ๊ณผ ๋ฆฌ๋ทฐ ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์์ ๊ธ์ /์ค๋ฆฝ/๋ถ์ ์ ๋ฐ๋ผ์ ํด์ํ๊ทธ๋ฅผ ์์ฑํ๋ค.
- ํด์ํ๊ทธ ์์ฑ ์ ๋ฐ์ํ ์ ์๋ ๋ฌธ๋ฒ์ ์ค๋ฅ, ์ด์ํ ํํ์ ๊ฒํ ํ๊ณ ์์ ํ๋ค.
- ๊ฐ์ธํ๋ ์ถ์ฒ์์ ํด์ํ๊ทธ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด, sparseํ item feature๋ฅผ ์ค์ธ๋ค. ์ ์ฌํ ํด์ํ๊ทธ๋ ํด๋ฌ์คํฐ๋งํ์ฌ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉํ๋ค.
- user-item interaction์ score๋ก ์์ฑ๋ ํด์ํ๊ทธ์ ๊ธ์ /์ค๋ฆฝ/๋ถ์ ๋น์จ์ ๊ฐ์ค์น๋ฅผ ๋์ด ํ์ตํ๋ค.
AI/
โโโ src/ # ์์ค ์ฝ๋ ๋๋ ํ ๋ฆฌ
โ โโโ config.py # ์ค์ ํ์ผ (.env ํ์ผ์ ์ ์ฅ๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ )
โ โโโ db_connect.py # ๋น๋๊ธฐ์ ์ผ๋ก database ์ฒ๋ฆฌ
โ โโโ lm_graph.py # Langgraph๋ฅผ ํตํด ํด์ํ๊ทธ ์์ฑ, ๊ฒ์ฆํ๋ ํ์ดํ๋ผ์ธ
โ โโโ main.py # ๋ฉ์ธ ์คํ ์คํฌ๋ฆฝํธ
โ โโโ model_chain.py # Openai API์ prompt engineering์ ํตํด ํด์ํ๊ทธ๋ฅผ ์์ฑ
โ โโโ rc_graph.py # LightFM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ๋ง์ถค ์นดํ๋ฅผ ์ถ์ฒ
โ โโโ rec.py # ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ API
โ โโโ s3image.py # AWS S3์์ ๋ฆฌ๋ทฐ ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ ธ์ด
โ โโโ schemas.py # Database DTO
โ โโโ tag.py # ํด์ํ๊ทธ ์์ฑ API
โ โโโ vdb.py # ๋ด์ค ์์ฝ ์ฒ๋ฆฌ ์คํฌ๋ฆฝํธ
โโโ Dockerfile
โโโ Jenkinsfile
โโโ requirements.txt # ํ๋ก์ ํธ ์คํ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ชฉ๋ก์ด ์ ์ฅ๋ ํ์ผ (pipreqs)
FastAPI, Langchain, Langgraph, MySQL, RAG, ChromaDB, Hybrid filtering, Content-based filtering, Collaborative filtering, LightFM