์๋น์ค ์์ฐ ๋์์ ์ ํ๋ธ ๋งํฌ
MyAnalyst๋ ๊ธฐ์กด ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๊ฐ ๊ฐ์ง ์ฃผ๊ด์ฑ, ์ ๋ณด์ ๋น์ค์๊ฐ์ฑ, ๋์ ์ ๊ทผ ์ฅ๋ฒฝ์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ RAG ๊ธฐ๋ฐ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์ ์์ฑ ์๋น์ค์ ๋๋ค.
์ฌ์ฉ์๋ ์ํ๋ ๊ธฐ์ ์ ์ต์ ๊ณต์ ๋ฐ ๋ด์ค ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ํธํฅ์ฑ์ด ๋ฐฐ์ ๋ ๊ฐ๊ด์ ์ธ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์ธ์ ๋ ์ง ์ง์ ์์ฑํ ์ ์์ต๋๋ค. ๋ํ, ์ด๋ ค์ด ๊ธ์ต ์ฉ์ด๋ฅผ ์ค๋ช ํด์ฃผ๋ ์ฉ์ด ์ฌ์ ๊ณผ ๊ถ๊ธ์ฆ์ ์ฆ์ ํด๊ฒฐํด์ฃผ๋ AI ๋น์ ๊ธฐ๋ฅ ๋ฑ์ ํตํด ๋๊ตฌ๋ ์ฝ๊ฒ ๋ณด๊ณ ์๋ฅผ ์ดํดํ๊ณ ์์ฌ ๊ฒฐ์ ์ ํ์ฉํ ์ ์๋๋ก ๋์ต๋๋ค.
์ด๋ฅผ ํตํด MyAnalyst๋ ๊ธ์ต ์ ๋ณด์ ๋น๋์นญ์ฑ์ ํด์ํ๊ณ , ๋ชจ๋ ํฌ์์๊ฐ ์ ๋ขฐํ ์ ์๋ ์ ๋ณด์ ํ๋ฑํ๊ฒ ์ ๊ทผํ๋ ์๋ก์ด ๊ธฐ์ค์ ์ ์ํฉ๋๋ค.
๊ธฐ์ ๋ถ์์ ํน์ ๊ธฐ์ ์ ์ฌ๋ฌด ์ํ, ๋น์ฆ๋์ค ๋ชจ๋ธ, ๊ฒฝ์๋ ฅ ๋ฑ์ ์ฒด๊ณ์ ์ผ๋ก ํ๊ฐํ์ฌ ํด๋น ๊ธฐ์ ์ ํ์ฌ ๋ฐ ๋ฏธ๋ ๊ฐ์น๋ฅผ ํ๋จํ๋ ๊ณผ์ ์ ๋๋ค. ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ ์ฆ๊ถ์ฌ๋ ํฌ์ ๋ฆฌ์์น ๊ธฐ๊ด์ ์ ๋ฌธ๊ฐ๋ค์ด ํฌ์์๋ค์๊ฒ ์ ๊ณตํ๋ ์ค์ํ ์๋ฃ์ ๋๋ค.
๊ฐ์ธ ํฌ์์์ ์ ์ฅ์์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ ํฌ์ ์ ๋ต์ ์๋ฆฝํ๊ณ ์์ฌ ๊ฒฐ์ ์ ๋ด๋ฆฌ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. ์ผ๋ฐ ํฌ์์๊ฐ ๊ธฐ์ ์ ์ฑ์ฅ ๊ฐ๋ฅ์ฑ, ์ฌ๋ฌด ์์ ์ฑ, ์์ฅ ํธ๋ ๋๋ฅผ ์ง์ ๋ถ์ํ๋ ๊ฒ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ๊ธ์ต ์ ๋ฌธ๊ฐ๋ค์ด ์์ฑํ ๋ณด๊ณ ์๋ฅผ ํตํด ์ฃผ๊ฐ ์ ๋ง, ๋ฆฌ์คํฌ ์์ธ, ๋ชฉํ ์ฃผ๊ฐ ๋ฑ ์ ๋ฌธ์ ์ธ ์ ๋ณด๋ฅผ ์ป์ต๋๋ค. ์ด๋ฅผ ํตํด ํฌ์์๋ ๋ณด๋ค ์ ๋ขฐํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ํฉ๋ฆฌ์ ์ธ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํ์ฌ์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ ๋ช ๊ฐ์ง ํ๊ณ์ ์ด ์กด์ฌํฉ๋๋ค.
์ฒซ์งธ๋ก, ํ์ฌ์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ ๋ถ์์์ ์์ ๊ธฐ๊ด, ํฌ์ ์ฑํฅ, ์ ํธ๋ ๋ฑ์ ๋ฐ๋ผ ์ฃผ๊ด์ ์ธ ๊ฒฌํด๊ฐ ํฌํจ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ์ด๋ ํฌ์์๋ค์ด ๊ฐ๊ด์ ์ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ์ผ๋ก ํ๋จํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค๊ณ , ํน์ ๋ถ์๊ฐ์ ์๊ฒฌ์ ๋งน์ ํ๊ฒ ํ๋ ๋ถ์์ฉ์ ์ด๋ํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํ ์ฑ ์์ ๊ฐ์ธ ํฌ์์๊ฐ ์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์, ๊ฐ์ธ ํฌ์์์๊ฒ๋ ๋์ฑ ๊ฐ๊ด์ ์ด๊ณ ์ค๋ฆฝ์ ์ธ ์๋ฃ๊ฐ ํ์ํฉ๋๋ค.
๋์งธ๋ก, ์ ๋ณด์ ์ต์ ์ฑ์ด ๋ถ์กฑํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ ๋ถ๊ธฐ(์ฝ 3๊ฐ์) ๋จ์๋ก ๋ฐ๊ฐ๋๊ธฐ ๋๋ฌธ์, ์์๊ฐ๊ฐ ๋ณํํ๋ ํฌ์ ํ๊ฒฝ์ ๋ํ ์ค์๊ฐ ๋ฐ์์ด ์ด๋ ต์ต๋๋ค. ํนํ ๊ธ๋ณํ๋ ๊ธ์ต ์์ฅ์์๋ ๋จ๊ธฐ๊ฐ ๋ด์ ์ค์ํ ์ ๋ณด๊ฐ ๋ฐ๋ ์ ์์ด, ํฌ์์๊ฐ ์์์ ์ ํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ด๋ ต์ต๋๋ค.
์ ์งธ๋ก, ๋์ ์ง์ ์ฅ๋ฒฝ์ด ์์ต๋๋ค. ๊ธฐ์ ๋ถ์์ ๋ฐฉ๋ํ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ด๋ฅผ ํด์ํ๋ ๊ณผ์ ์์ ๋ง์ ์๊ฐ๊ณผ ์ธ๋ ฅ์ด ์์๋ฉ๋๋ค. ํนํ ๊ธ์ต ์ ๋ฌธ๊ฐ์ ๊ฒฝํ๊ณผ ์ธ์ฌ์ดํธ๊ฐ ์ค์ํ ์์๋ก ์์ฉํ๊ธฐ ๋๋ฌธ์, ์ผ๋ฐ ํฌ์์๋ค์ด ์ง์ ๊ธฐ์ ๋ถ์์ ์ํํ๊ธฐ์๋ ๋์ ์ง์ ์ฅ๋ฒฝ์ด ์กด์ฌํฉ๋๋ค. ์ด๋ก ์ธํด ๊ธ์ต ๊ธฐ๊ด์ด๋ ํฌ์ ์ ๋ฌธ๊ฐ์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์๋ง ์์กดํ ์ ๋ฐ์ ์๋ค๋ ํ๊ณ๊ฐ ์์ต๋๋ค.
์ด๋ฌํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์ด ํ๋ก์ ํธ์์๋ RAG(Retrieval-Augmented Generation) ๊ธฐ์ ์ ํ์ฉํ์ฌ, ๋ณด๋ค ๋ฐ์ ๋ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ณ ์ ํฉ๋๋ค.
RAG๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ๊ฒ์ํ ํ, ์ด๋ฅผ ๋ฐํ์ผ๋ก LLM(Large Language Model)์ด ๊ณ ๋ํ๋ ๋ถ์์ ์ํํ๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ์กด์ ๊ธฐ์ ๋ถ์ ๋ฐฉ์์์ ๋ฐ์ํ๋ ๋ฌธ์ ์ ์ ๋ณด์ํ ์ ์์ต๋๋ค.
์ฒซ์งธ๋ก ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์ ๊ฐ๊ด์ฑ์ ๊ฐํํ ์ ์์ต๋๋ค. ๊ธฐ์กด์ ๋ถ์ ๋ณด๊ณ ์๋ ์์ฑ์์ ์ฃผ๊ด์ ํด์์ด ํฌํจ๋ ์ ์์ง๋ง, RAG๋ฅผ ํ์ฉํ๋ฉด ์ ๋์ ์ธ ๋ฐ์ดํฐ ๋ถ์์ ๊ธฐ๋ฐ์ผ๋ก ๋ณด๋ค ๊ฐ๊ด์ ์ธ ๊ธฐ์ ํ๊ฐ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๋์งธ๋ก, ๊ธฐ์ ๋ณด๊ณ ์์ ๋ค์ด๊ฐ๋ ์ ๋ณด์ ์ต์ ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.์ฌ์ฉ์๊ฐ ์ํ๋ ์์ ์ ์ฆ์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ด, ์ต์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ํ ๋ถ์์ด ๊ฐ๋ฅํด์ง๋๋ค. ์ด๋ ๊ธฐ์กด ๋ณด๊ณ ์์ ์ฃผ๊ธฐ์ ๋ฐ๊ฐ ๋ฐฉ์๊ณผ ๋น๊ตํ์ ๋ ์ ๋ณด์ ์ ํ์ฑ์ ๋์ด๋ ๋ฐ ํฐ ์ฅ์ ์ด ๋ฉ๋๋ค.
์ ์งธ๋ก ์์ ์๋ชจ๊ฐ ์ ๊ฐ๋๊ณ ์ ๊ทผ์ฑ์ด ํฅ์๋ฉ๋๋ค. ์น ํฌ๋กค๋ง ๋ฐ LLM์ ํ์ฉํ์ฌ ๋ฐฉ๋ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์์งํ๊ณ ํด์ํ ์ ์์ด, ๊ธฐ์กด์ ๋ถ์ ๊ณผ์ ์์ ์๊ตฌ๋๋ ๋์ ์ธ๋ ฅ๊ณผ ์๊ฐ์ด ์ ๊ฐ๋ฉ๋๋ค. ๋ํ, ๊ธ์ต ์ ๋ฌธ๊ฐ๊ฐ ์๋ ์ผ๋ฐ ํฌ์์๋ค๋ ์ฝ๊ฒ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ณ ํ์ฉํ ์ ์์ต๋๋ค.
๋ณธ ํ๋ก์ ํธ๋ ์ด๋ฌํ RAG ๊ธฐ์ ์ ๊ฐ์ ์ ํ์ฉํ์ฌ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์ ์์ฑ ๊ธฐ๋ฅ์ ์ด 5๋จ๊ณ์ ๋ง๋ฒ์ฌ ์คํ์ผ ์ธํฐํ์ด์ค๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค. ์ฌ์ฉ์๋ ์ ๋ฌธ์ฑ์ด ๋ถ์กฑํด๋ ํด๋น ์ธํฐํ์ด์ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ๊ฐ๋ฉด์ ์ฝ๊ฒ ์์ ์ด ์ํ๋ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
1๋จ๊ณ : ๊ธฐ๋ณธ ์ ๋ณด ์ ๋ ฅ
๋ถ์ํ๊ณ ์ ํ๋ ๊ธฐ์ ๋ช ๊ณผ ๋ถ์ ๊ธฐ์ค ๋ถ๊ธฐ๋ฅผ ์ ๋ ฅํฉ๋๋ค.
ํ์ฌ ์๋น์ค๋ ์ ํธ๋ฆฌ์จ ๊ธฐ์ ์ 24๋ 4๋ถ๊ธฐ๋ง ์ ๊ณตํ๊ณ ์์ต๋๋ค.
2๋จ๊ณ : ๋ณด๊ณ ์ ์ ๋ชฉ ์ค์
๋ณด๊ณ ์์ ํ์๋ ์ ๋ชฉ์ ์ค์ ํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๋ ์ง-๊ธฐ์ ๋ช ํ์์ผ๋ก ์์ฑ๋ฉ๋๋ค (ex. ์ ํธ๋ฆฌ์จ 24๋ 4๋ถ๊ธฐ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์)
ํน์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ํตํด ๋ณด๊ณ ์์ ์ ๋ชฉ์ ์์๋ก ์ง์ ํ ์ ์์ต๋๋ค.
3๋จ๊ณ : ๋ณด๊ณ ์ ๋ชฉ์ฐจ ์ค์
๋ณด๊ณ ์๋ฅผ ๊ตฌ์ฑํ๋ ๋ชฉ์ฐจ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
ํ์์น ์์ ์ธ๋ถ ๋ชฉ์ฐจ๋ฅผ ์ ๊ฑฐํ๊ฑฐ๋ ํ์ํ ๋ชฉ์ฐจ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๋ณด๊ณ ์ ์์ฝ, ์ค์ ๋ถ์, ์ฃผ์ ์ฌ์ ๋ฐ ์ ํ ๋ํฅ, ์์ฅ ํ๊ฒฝ ๋ฐ ์ ๋ต ๋ฐฉํฅ, ํฅํ ์ ๋ง์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค
4๋จ๊ณ : ๊ด์ฌ ์งํ ์ค์
๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ๋ ๋ถ์์ ์ง์คํ ๊ฒฝ์ ์งํ๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์งํ๋ช ๊ฒ์ ์ฐฝ์์ ์ํ๋ ์งํ๋ฅผ ๊ฒ์ํ๊ฑฐ๋ ์ฃผ์ ๊ฒฝ์ ์งํ ๋ฒํผ์ ํตํด ํ๋ ์ด์์ ๊ฒฝ์ ์งํ๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ ์ค์ ์ผ๋ก ๊ด์ฌ ์งํ ์ค์ ์์ด ๋๋ฑํ ๊ฐ์ค์น๋ก ๋ถ์ํ๋๋ก ํฉ๋๋ค.
5๋จ๊ณ : ๋ณด๊ณ ์ ์์ฑ ํ์ธ
์ฌ์ฉ์์ ์ ๋ ฅ ์ ๋ณด๋ฅผ ์์ฝํ์ฌ ์์ฑํ๊ณ ์ ํ๋ ๋ณด๊ณ ์๊ฐ ๋ง๋์ง ์ ๊ฒํฉ๋๋ค.
๋ณด๊ณ ์ ์์ฑ ๋ฒํผ์ ๋๋ฌ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ด๋ 1๋ถ ์ ๋์ ์๊ฐ์ด ์์๋ฉ๋๋ค.
๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ํ ์ด๋ฅผ ์ฝ์ ๋ ๋์์ด ๋๋ 4๊ฐ์ง ๋๊ตฌ๋ค์ ์ ๊ณตํฉ๋๋ค. ์ฌ์ฉ์๋ ์ฝ๊ธฐ ๋๊ตฌ๋ฅผ ๋ฐํ์ผ๋ก ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์ ์ฝ๊ธฐ ์ค ์ด๋ ค์ด ์ ์ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์์ต๋๋ค.
์ฉ์ด ์ฌ์ ๊ธฐ๋ฅ
๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์ ๋ด์ ์กด์ฌํ๋ ์ด๋ ค์ด ๊ธ์ต ์ฉ์ด๋ ํน์ ๋๋ฉ์ธ ์ฉ์ด์ ๋ป๊ณผ ์ฉ๋ก๋ฅผ ํด์คํฉ๋๋ค.
ํด๋น ์ฉ์ด๋ค์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์ ๋ด์ ๋ ธ๋ ๋ฐฐ๊ฒฝ์ผ๋ก ์ถ๊ฐ ํ์๋์ด ์์ต๋๋ค.
์ฉ์ด ์ฌ์ ์์ ์ฉ์ด๋ฅผ ํด๋ฆญํ๊ฑฐ๋, ๋ ธ๋ ๋ฐฐ๊ฒฝ์ ๊ธ์๋ฅผ ํด๋ฆญํ๋ ๊ฒ์ผ๋ก ์ฉ์ด ์ค๋ช ์ ํผ์น๊ณ ์ ์ ์ ์์ต๋๋ค.
๊ด๋ จ ๋ด์ค ๊ธฐ๋ฅ
๋ค์ด๋ฒ ๋ด์ค์์ ํด๋น ๊ธฐ์ ์ ์ค์๊ฐ ๊ด๋ จ ๋ด์ค ์์ 10๊ฐ๋ฅผ ๊ฒ์ํ์ฌ ๊ฐ์ ธ์ต๋๋ค.
๊ฐ ๋ด์ค๋ ์ ๋ชฉ๊ณผ ์ด๋ฐ ๋ด์ฉ์ด ํ์๋๋ฉฐ, ์ด๋ฅผ ํด๋ฆญํ์ฌ ์ค์ ๋ด์ค ํ์ด์ง๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์ด๋ฅผ ํตํด ํด๋น ๊ธฐ์ ์ ์ต์ ์ ๋ณด๋ฅผ ์์ฝ๊ฒ ์ป์ ์ ์์ต๋๋ค.
์ฃผ์ ์ ๋ณด ๊ธฐ๋ฅ
๋ค์ด๋ฒ ์ฆ๊ถ์์ ํด๋น ๊ธฐ์ ์ ์ค์๊ฐ ์ฃผ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์ฃผ์ ์ ana๋ณด์์ ์ข ๋ชฉ์ฝ๋, ์๊ฐ์ด์ก, ๊ฑฐ๋๋ ๋ฑ์ ๊ธฐ๋ณธ์ ์ธ ์ ๋ณด๋ถํฐ PER, PBR ๋ฑ์ ์ ๋ฌธ์ ๊ฒฝ์ ์งํ๊น์ง ๋ณผ ์ ์์ต๋๋ค.
๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์ ํ์ฌ ์ฃผ์ ์ ๋ณด๋ฅผ ํตํด ์ฌ์ฉ์๋ ์ฃผ์ ํฌ์ ์์ฌ ๊ฒฐ์ ์ ๋์์ ๋ฐ์ ์ ์์ต๋๋ค.
์ง์์๋ต ๊ธฐ๋ฅ
๋๋ง์ ๊ธ์ต ์ ๋ฌธ๊ฐ AI์๊ฒ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ฅผ ์ฝ์ผ๋ฉฐ ๊ถ๊ธํ ์ ์ ์ง๋ฌธํ ์ ์์ต๋๋ค.
์ง๋ฌธ์ ์ฑํ ํํ๋ก๋, ์์ฑ ํํ๋ก๋ ๊ฐ๋ฅํฉ๋๋ค.
์ง๋ฌธ์ ์ ๋ฌํ๋ฉด ๊ธ์ต ์ ๋ฌธ๊ฐ๊ฐ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ฅผ ํตํด RAG ๊ธฐ๋ฐ์ผ๋ก ์์ธํ๊ฒ ๋ต๋ณํฉ๋๋ค.
๋ฐฑ์๋
- ์ธ์ด: Java
- ํ๋ ์์ํฌ: Spring Boot
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: PostgreSQL
- ์์กด์ฑ ๊ด๋ฆฌ: Maven
- JSON ์ฒ๋ฆฌ: ObjectMapper
ํ๋ก ํธ์๋
- ์ธ์ด: JavaScript
- ํ๋ ์์ํฌ: React
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: Redis
- ์ํ ๊ด๋ฆฌ: React Hooks
- ๋ผ์ฐํ : React Route
- ์คํ์ผ๋ง: Bootstrap 5, Bootstrap Icons
- ๋งํฌ๋ค์ด ๋ ๋๋ง: Marked
RAG ์๋ฒ
- ์ธ์ด: Python
- ํ๋ ์์ํฌ: FastAPI
- ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค: Milvus
- OCR ์ฒ๋ฆฌ: Naver Clova OCR
- ์์ฐ์ด ์ฒ๋ฆฌ: KoNLPy, KLUE-BERT
Challenge: ๋จ์ ์ ๋ณด ๊ฒ์์ ๋์ด ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์ ๊ฐ์ ์ ๋ฌธ์ ์ธ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๊ธฐ ์ํด์๋ ์๋ํฌ์๋(End-to-End) RAG ํ์ดํ๋ผ์ธ ์ค๊ณ๊ฐ ํ์์ ์ด์์ต๋๋ค. ํนํ ๋น์ ํ ๋ฐ์ดํฐ์ธ PDF ๊ณต์ ์๋ฃ์ ์ค์๊ฐ ๋ด์ค ๊ธฐ์ฌ๋ฅผ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ , ํ๊ตญ์ด์ ๋ณต์กํ ๋ฌธ๋งฅ์ ์ ํํ ๋ฒกํฐํํ๋ ๊ฒ์ด ํต์ฌ ๊ณผ์ ์์ต๋๋ค.
Solution:
- ํ์ฅ์ฑ์ ๊ณ ๋ คํ ๋ฒกํฐ DB ํ๊ฒฝ ๊ตฌ์ถ: ๋๊ท๋ชจ ๋ฒกํฐ ๋ฐ์ดํฐ์ ์ค์๊ฐ ์ ์ฌ๋ ๊ฒ์ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ณ ์ Milvus๋ฅผ ์ฑํํ๊ณ , Docker๋ฅผ ํตํด ์ปจํ ์ด๋ํํ์ฌ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ํ๊ฒฝ์ ์ผ๊ด์ฑ๊ณผ ํ์ฅ์ฑ์ ํ๋ณดํ์ต๋๋ค.
- ๋ฐ์ดํฐ ์์ค๋ณ ๋ง์ถคํ ์ ์ฒ๋ฆฌ: ์ด๋ฏธ์ง ๊ธฐ๋ฐ์ PDF๋ Naver Clova OCR์ ํ์ฉํด ํ ์คํธ๋ฅผ ์ ํํ ์ถ์ถํ๊ณ , ์น ๋ด์ค ๊ธฐ์ฌ๋ ์ ๊ท์ ๊ธฐ๋ฐ์ ํด๋ฆฌ๋ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ฌ ์ ์๋ฏธํ ๋ณธ๋ฌธ ๋ฐ์ดํฐ๋ง ์ ์ ํ์ต๋๋ค.
- ํ๊ตญ์ด ์๋ฏธ ์ ํ๋ ๊ทน๋ํ๋ฅผ ์ํ ์๋ฒ ๋ฉ: ํ๊ตญ์ด ๊ธ์ต ๋ฐ ๋๋ฉ์ธ ์ฉ์ด์ ๋ฏธ๋ฌํ ์ฐจ์ด๊น์ง ํ์ ํ๊ธฐ ์ํด ํ๊ตญ์ด ํนํ ๋ชจ๋ธ์ธ KLUE-BERT๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ด๋ฅผ ํตํด ํ ์คํธ๋ฅผ ๋์ ์๋ฏธ ์ ํ๋๋ฅผ ๊ฐ์ง ๋ฒกํฐ๋ก ๋ณํ, ๊ฒ์ ์ ๊ด๋ จ์ฑ ๋์ ๋ฌธ์๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฐพ์๋ผ ์ ์๋๋ก ์ค๊ณํ์ต๋๋ค.
- ์ญํ ๊ธฐ๋ฐ ํ๋กฌํํธ ์์ง๋์ด๋ง: LLM์ด '๊ธ์ต ๋ถ์ ์ ๋ฌธ๊ฐ'๋ผ๋ ๋ช ํํ ์ญํ ์ ์ธ์งํ๊ณ , ์ผ๊ด๋ ํ์๊ณผ ์ ๋ฌธ์ ์ธ ํค์ค๋งค๋๋ก ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๋ก ์ฒด๊ณ์ ์ธ ํ๋กฌํํธ๋ฅผ ์ค๊ณํ์ต๋๋ค.
- ํต์ฌ RAG ๋ก์ง ๊ตฌํ: ์ฌ์ฉ์ ์ง๋ฌธ์ ์๋ฒ ๋ฉํ์ฌ Milvus ๋ด ๋ฒกํฐ ๋ฐ์ดํฐ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๊ณ , ๊ฐ์ฅ ๊ด๋ จ์ฑ ๋์ ์ปจํ ์คํธ๋ฅผ LLM์ ์ ๋ฌํ์ฌ ํ๊ฐ์ ์ต์ ํ๊ณ ์ฌ์ค ๊ธฐ๋ฐ์ ๋ต๋ณ์ ์์ฑํ๋ ํต์ฌ ๊ตฌ์กฐ๋ฅผ ์์ฑํ์ต๋๋ค.
Achievement: ๋ฐ์ดํฐ ์์ง๋ถํฐ ์์ฑ๊น์ง, ๊ฐ ๋จ๊ณ์ ๋ฌธ์ ๋ฅผ ์์ธกํ๊ณ ์ต์ ์ ๊ธฐ์ ์ ์กฐํฉํ์ฌ ์์ ์ ์ด๊ณ ์ ๋ฌธํ๋ RAG ํ์ดํ๋ผ์ธ์ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ถํ์ต๋๋ค.
Challenge: ๋ณธ ์๋น์ค๋ ์ฑ๊ฒฉ์ด ์ ํ ๋ค๋ฅธ ์ธ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ๊ด๋ฆฌํด์ผ ํ์ต๋๋ค.
- ๋ฒกํฐ ๋ฐ์ดํฐ (Vector DB - Milvus): RAG ๊ฒ์์ ์ํ ๋ฌธ์ ์๋ฒ ๋ฉ
- ๊ด๊ณํ ๋ฐ์ดํฐ (RDB - PostgreSQL): ์์ฑ๋ ๋ณด๊ณ ์, ๋ฉํ๋ฐ์ดํฐ ๋ฑ ์ ํ ์ ๋ณด
- ๋น์ ํ ๋ฐ์ดํฐ (In-memory DB - Redis): ์ฌ์ฉ์ ์ธ์ , ์บ์ ๋ฑ
์ด๋ค์ ๋จ์ผ ์์คํ ์์ ๊ด๋ฆฌํ ๊ฒฝ์ฐ ๋ฐ์ํ ์ ์๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ํ, ์ฑ๋ฅ ๋ณ๋ชฉ, ๊ด๋ฆฌ ๋ณต์ก์ฑ ์ฆ๊ฐ๋ฅผ ์ฌ์ ์ ๋ฐฉ์งํ ์ํคํ ์ฒ๊ฐ ํ์ํ์ต๋๋ค.
Solution:
๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ ์์น์ ๋ฐ๋ผ ๊ฐ ๋ฐ์ดํฐ์ ์ฑ๊ฒฉ๊ณผ ๊ฐ์ฅ ์ฐ๊ด์ด ๊น์ ๊ธฐ์ ์คํ์ด ํด๋น DB๋ฅผ ์ ๋ดํ๋๋ก ์ํคํ ์ฒ๋ฅผ ์ค๊ณํ์ต๋๋ค.
- AI/๋ฐ์ดํฐ ์ฒ๋ฆฌ = FastAPI โ Milvus (๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
- ๋ฐฑ์๋ ๋น์ฆ๋์ค ๋ก์ง = Spring โ PostgreSQL (๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
- ํ๋ก ํธ์๋ ์๋ฒ ๊ฐ ์บ์/์ธ์ = React โ Redis (NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค)
Achievement: ์ด๋ฌํ ๋ช ํํ ์ฑ ์ ๋ถ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฐ์ดํฐ์ ํผ์ฉ ๋ฐ ์ถฉ๋ ๊ฐ๋ฅ์ฑ์ ์์ฒ์ ์ผ๋ก ์ฐจ๋จํ๊ณ , ์์คํ ์ ์ฒด์ ์์ ์ฑ๊ณผ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ํ๋ณดํ์ต๋๋ค. ๋ํ ๊ฐ ์๋ฒ๊ฐ ์์ ์ ํต์ฌ ์ญํ ์๋ง ์ง์คํ๊ฒ ๋์ด ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค.
Challenge: RAG๋ก ์์ฑํ ๋ณด๊ณ ์์ ํ์ง์ '๊ทธ๋ด๋ฏํ๋ค'๋ ์ฃผ๊ด์ ํ๋จ์ ๋์ด, ์ด๋ป๊ฒ ๊ฐ๊ด์ ์ผ๋ก ์ ์ฆํ ๊ฒ์ธ๊ฐ ํ๋ ๋๊ด์ ๋ถ๋ชํ์ต๋๋ค. ์ค์ ์ฆ๊ถ์ฌ ์ ๋๋ฆฌ์คํธ ๋ณด๊ณ ์์ ๋น๊ตํ์ฌ ์์ฑ๋ฌผ์ ์ฑ๋ฅ์ ์ ๋์ , ์ ์ฑ์ ์ผ๋ก ์ฆ๋ช ํ ๋ช ํํ ํ๊ฐ ๊ธฐ์ค์ด ํ์ํ์ต๋๋ค.
Solution:
์์ฑ๋ ๋ณด๊ณ ์์ ์ฑ๋ฅ์ ๊ฐ๊ด์ ์ผ๋ก ๊ฒ์ฆํ๊ณ ์, ์ธ ๊ฐ์ง ์ฒด๊ณ์ ์ธ ํ๊ฐ ๊ธฐ์ค์ ์ง์ ์ค๊ณํ๊ณ ์ ์ฉํ์ต๋๋ค. ๋น๊ต ๋์์ ๊ตญ๋ด ์ฃผ์ ์ฆ๊ถ์ฌ 4๊ณณ์ ์ค์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์๋ก ์ค์ ํ์ต๋๋ค.
- ํ๊ฐ ๊ธฐ์ค 1: ํต์ฌ ์ ๋ณด ํฌํจ๋
- ๋ชฉํ: ์์ฑ ๋ณด๊ณ ์๊ฐ ์ค์ ๋ณด๊ณ ์์ ํต์ฌ ์ ๋ณด(ํฉํธ, ์์น)๋ฅผ ์ผ๋ง๋ ๋น ์ง์์ด ํฌํจํ๋์ง ์ธก์
- ๋ฐฉ๋ฒ: KoNLPy๋ก ๊ฐ ๋ณด๊ณ ์์ ํค์๋๋ฅผ ์ถ์ถํ ๋ค, ํน์ ๋ณด๊ณ ์์ ํค์๋๊ฐ ๋ค๋ฅธ ๋ณด๊ณ ์์ ์ผ๋ง๋ ํฌํจ๋์๋์ง Recall ์ ์๋ฅผ ๊ณ์ฐ
- ๊ฒฐ๊ณผ: ์์ฑ ๋ณด๊ณ ์์ ํ๊ท Recall์ 0.5038๋ก, ์ค์ ๋ณด๊ณ ์๋ค์ ํ๊ท ์ธ 0.45๋ฅผ ์ํํ์ต๋๋ค. ์ด๋ ์์ฑ ๋ณด๊ณ ์๊ฐ ํต์ฌ ์ ๋ณด๋ฅผ ๋ ํญ๋๊ฒ ์ปค๋ฒํ๊ณ ์์์ ๊ฐ๊ด์ ์์น๋ก ์ฆ๋ช ํฉ๋๋ค
- ํ๊ฐ ๊ธฐ์ค 2: ์๋ฏธ์ ์ ์ฌ๋
- ๋ชฉํ: ๋จ์ ํค์๋ ์ผ์น๋ฅผ ๋์ด, ๋ฌธ๋งฅ๊ณผ ์๋ฏธ๊ฐ ์ค์ ๋ณด๊ณ ์์ ์ผ๋ง๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ์ ์ฌํ์ง ํ๊ฐ
- ๋ฐฉ๋ฒ: KLUE-BERT๋ก ๋ณด๊ณ ์ ์ ์ฒด๋ฅผ ๋ฒกํฐ๋ก ์๋ฒ ๋ฉํ ํ, ๋ณด๊ณ ์ ์ ๊ฐ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ณ์ฐ
- ๊ฒฐ๊ณผ: ์์ฑ ๋ณด๊ณ ์์ ์ ์(0.5598)๊ฐ ์ค์ ๋ณด๊ณ ์ ํ๊ท (์ฝ 0.68)๋ณด๋ค ์ฝ๊ฐ ๋ฎ์์ผ๋, ์ด๋ ์์ฑ ๋ณด๊ณ ์์ ๋ถ๋์ด ๋ ๋ง๊ณ ์์ธํ๊ธฐ ๋๋ฌธ์์ ๋ถ์์ ํตํด ๋ฐํ์ต๋๋ค. ๋ถ๋์ ์ ์ฌํ๊ฒ ๋ง์ถ์ ๋๋ฑํ ์์ค์ ์๋ฏธ์ ์ ์ฌ๋๋ฅผ ์์ธก ๊ฐ๋ฅํ์ต๋๋ค.
- ํ๊ฐ ๊ธฐ์ค 3: ๋ณด๊ณ ์ ํ์ง ํ๊ฐ
- ๋ชฉํ: ๊ฐ๋ ์ฑ, ๋ช ํ์ฑ, ๋ ผ๋ฆฌ ๊ตฌ์กฐ ๋ฑ ์ ๋ํํ๊ธฐ ์ด๋ ค์ด ์ข ํฉ์ ์ธ ํ์ง์ ํ๊ฐ
- ๋ฐฉ๋ฒ: ์ฌ๋์ ํ๊ฐ๋ฅผ ๋์ฒดํ๊ณ ์ Gemini 2.5 Pro๋ฅผ ํ๊ฐ์๋ก ๋์ ํ์ต๋๋ค. 8000ํ ์ด์ ์ธ์ฉ๋ ๊ณต์ ๋ ฅ ์๋ Wang & Strong ๋ฐ์ดํฐ ํ์ง ํ๋ ์์ํฌ์ ๋ฆฌ์ปคํธ ์ฒ๋๋ฅผ ์ ์ฉํ์ฌ 15๊ฐ ์ฐจ์์ ๋ํ ํ๊ฐ๋ฅผ ์๋ํํ์ต๋๋ค.
- ๊ฒฐ๊ณผ: ์์ฑ ๋ณด๊ณ ์๋ ํ๊ท 3.67์ ์ ๊ธฐ๋ก, 3์ ์คํ๋ฐ๋์ ์ค์ ๋ณด๊ณ ์๋ค๊ณผ ํ์ง ๋ฉด์์ ๋๋ฑํ ์์ค์์ ์ ์ฆํ์ต๋๋ค.
Achievement: ์์ ๊ฐ์ ์ธ ๊ฐ์ง ๊ฐ๊ด์ ์ธ ํ๊ฐ ๊ธฐ์ค์ ํตํด, ๋ณธ ํ๋ก์ ํธ์ ๊ฒฐ๊ณผ๋ฌผ์ด ์ ๋ณด์ ํฌ๊ด์ฑ, ์๋ฏธ์ ์ ํ์ฑ, ๊ทธ๋ฆฌ๊ณ ์ ์ฒด์ ์ธ ํ์ง ๋ฉด์์ ์ค์ ๊ธฐ์ ๋ถ์ ๋ณด๊ณ ์์ ๋๋ฑํ๊ฑฐ๋ ์ผ๋ถ ๋ฅ๊ฐํ๋ ์์ค์์ ๋ค๊ฐ์ ์ผ๋ก ์ฆ๋ช ํด๋์ต๋๋ค.












