๊ฐ๋ฐ์๋ฅผ ์ํ ๋ญ์ฒด์ธ ๊ธฐ์ด ๊ฐ๋ ๊ณผ ํ๊ฒฝ ์ค์ ๋ฒ
๊ฐ๋ฐ์๋ฅผ ์ํ ๋ญ์ฒด์ธ ๊ธฐ์ด ๊ฐ๋ ๊ณผ ํ๊ฒฝ ์ค์ ๋ฒ ๊ด๋ จ
IT ์ง์์ด ๋ฌด์๋ณด๋ค ์ค์ํด์ง ์์ฆ, ์ฌ๋ฌ๋ถ์ ์ด๋ป๊ฒ ๊ณต๋ถํ๊ณ ์๋์? ๊ฐ์ฅ ๋จผ์ ๋๊ธธ์ด ๊ฐ๋ ๊ฑด ๋ค์ํ IT ๊ฐ์ ์์์ผ ๊ฒ๋๋ค. ๊ฐ์๋ฅผ ์ ๊ณตํ๋ ๊ต์ก ๊ธฐ์ ๋ค๊ณผ ํจ๊ป, ์์ฆIT์์ โIT ๊ฐ์ ์๋ฆฌ์ฆโ๋ฅผ ์ค๋นํ์ต๋๋ค. ์์ ํ ๊ต์ก ์์์ ํ ์คํธ๋ก ์ฝ๊ณ ํ์ํ ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ๊ฐ์ธ์.
์ด๋ฒ ๊ฐ์๋ โ๋ญ์ฒด์ธ์ผ๋ก LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณํ๊ธฐโ์ ๋๋ค. ๊ตฌ๊ธ ํด๋ผ์ฐ๋์ ๊ณ ๊ฐ ์์ง๋์ด์ด์ ์ด์ค๋ผ์ ๋ผ์ดํ๋ง ๋ํ์์ ์ปดํจํฐ ๊ณผํ์ ๊ฐ๋ฅด์น๋ ์๋ด ๋ง๋ฅด์ฝ(Eden Marco) ๋์ด ๊ฐ์๋ฅผ ๋งก์์ต๋๋ค. ๋ญ์ฒด์ธ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ถํฐ LLM ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋์์ ์ฃผ๋ ๋๊ตฌ ์ ๋ณด๊น์ง, ํ ์คํธ ํ๊ฒฝ์ ์ ํฉํ ๋ด์ฉ๋ค๋ง ๊ฐ์ถ๋ ค ์๊ฐํฉ๋๋ค. ์์ด๋ก ์งํํ ๊ฐ์์ ๋ฒ์ญ๋ณธ์ ๊ธฐ์ด๋ก ๊ธ์ ๊ตฌ์ฑํ์ผ๋ฉฐ, ์ ์ฒด ์์์ ์ ๋ฐ๋ฏธ์์ ํ์ธํ ์ ์์ต๋๋ค.
์๋ ํ์ธ์, ์๋ด ๋ง๋ฅด์ฝ์ ๋๋ค. ์ด์ ๋ถํฐ ์ ๊ฐ ์๊ฐํ ๋ญ์ฒด์ธ(LangChain)์ LLM ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ๋ ์ธ ์ ์๋ ์ต๊ณ ์ ํ๋ ์์ํฌ์ ๋๋ค.
์ ์ญ์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์์ํด, ์ง๋ 2023๋ ๋ถํฐ ๋จธ์ ๋ฌ๋์ ๊ด์ฌ์ ๊ฐ์ง๊ธฐ ์์ํ์ต๋๋ค. ๋ญ์ฒด์ธ์ ํ์๋ ML ๊ฐ๋ฐ ๊ฒฝํ์ด ์๋ ์ ๊ฐ์ ์ฌ๋๋ค์๊ฒ LLM์ด ๋๋ฆฌ ํผ์ง๋ ๋ฐ ๋ฌด์๋ณด๋ค ํฐ ์ญํ ์ ํ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๊ทธ ๋๋ถ์ ์ด์ ์ ๋ ์ค์ค๋ก๋ฅผ AI ์์ง๋์ด๋ผ๊ณ ์ ์ํ๋ฉฐ ํ๋ํ๊ณ ์์ต๋๋ค.
๋ญ์ฒด์ธ์ ์ฌ๋ฌ ๋ณํ๋ก ์ด๋ฒ ๊ฐ์๋ ์๋ก์ด ์ ๋ฐ์ดํธ๋ฅผ ์งํํ๊ณ , ์ต์ ๋ฒ์ ์ธ 0.3 ์ด์์ ๋ง๊ฒ ๋ด์ฉ์ ๊ตฌ์ฑํ์ต๋๋ค. ๊ทธ๋ผ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ํด ๋ณด๊ฒ ์ต๋๋ค.
๋ญ์ฒด์ธ ์ดํดํ๊ธฐ
์ฐ์ ๋ญ์ฒด์ธ์ ๋ํด ์ค๋ช ํด ๋ณด๊ฒ ์ต๋๋ค.
๋๋์ฒด ๋ฌด์์ด, ์ผ๋ง๋งํผ ์ ์ฉํ๊ธธ๋ ์ด๋ ๊ฒ ์ธ๊ธฐ๊ฐ ๋ง์์ก์๊น์?
๋ญ์ฒด์ธ์ ์คํ ์์ค ํ๋ ์์ํฌ๋ก, LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋จ์ํ์ํต๋๋ค. ๋ณต์กํ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ ๋๊ตฌ์ ์ถ์ํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฆ, ๋จธ์ ๋ฌ๋์ด ์ด๋ป๊ฒ ์๋ํ๋์ง, ๋๋ AI ๋ชจ๋ธ์ ์ด๋ป๊ฒ ํ๋ จํ๋์ง์ ๋ํ ๊น์ ์ดํด ์์ด๋ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์๊ฒ ๋์์ค๋๋ค. ๊ทธ ๋๋ถ์ ๋ชจ๋ธ์ ๋ธ๋ ๋ฐ์ค๋ก ์ฌ์ฉํ๊ณ ์ ํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ๋๋ฆฌ ์ฑํ๋์์ต๋๋ค. ์์ด์ ํธ๋ RAG ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ LLM ๊ธฐ๋ฐ ์ฑ์ ๊ฐ๋ฐํ ๋ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ํ๋ ์์ํฌ๋ก ๋ฑ๊ทนํ ๊ฒ์ด์ฃ .
๋ํ ์คํ ์์ค ํ๋ ์์ํฌ์ด๋ฏ๋ก ์ฝ๋๊ฐ ๊นํ๋ธ (langchain-ai/langchain
)์ ๊ณต๊ฐ๋์ด ์์ต๋๋ค. ์ง์ ํ ๋ฆฌํ์คํธ๋ฅผ ๋ง๋ค ์๋ ์๊ณ , ๋ด๋ถ์ ์ผ๋ก ์ด๋ค ๋ณํ๊ฐ ์ด๋ค์ง๋์ง ์ค์ ๋ก ๋ณผ ์๋ ์์ต๋๋ค. ๊ธฐ์ฌ์์ ์ ์์๊ฐ ํ๋ฐํ๊ฒ ํ๋ํ๋ ์ปค๋ฎค๋ํฐ๊ฐ ์์ผ๋ฉฐ, ์ด๋ค ๋ชจ๋ ๋ญ์ฒด์ธ์ผ๋ก ๋๋ผ์ด ์ ํ๋ค์ ๋ง๋ค๊ณ ์์ต๋๋ค.
์ฒด์ธ(Chain)
๋ญ์ฒด์ธ์ ๋ชจ๋ AI ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ๋ณต๋๊ณ ๊ณต์ ๋๋ ์์ ์ ์ถ์ํํฉ๋๋ค. ์ฒด์ธ(chain)๊ณผ ๊ฐ์ ๋ฉ์ง ์ถ์ํ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์, ์ด๋ฆ๋ ๋ญ์ฒด์ธ์ด์ฃ .
๊ทธ๋ ๋ค๋ฉด, ๋ญ์ฒด์ธ์์ ๋งํ๋ ์ฒด์ธ์ด๋ ๋ฌด์์ผ๊น์?
AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ๋๋ ๋ณดํต AI ๋ชจ๋ธ์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ์ต๋๋ค. ๋ค๋ฅธ ๊ณณ์ผ๋ก ์ด๋ํ๊ฑฐ๋, ์จ๋ผ์ธ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฒ์ํ๊ฑฐ๋, ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ค๋ฅผ ๊ฐ์ ธ์ค์ฃ . ๋ ๋ค๋ฅธ ์ ๋ ฅ์ LLM์ ๋ณด๋ผ ์๋ ์์ต๋๋ค.
์ด๋ฅผ ๊ทธ ์์ฒด๋ก, ํ๋์ ํ๋ ์ฒด์ธ์ด๋ผ ์๊ฐํ ์ ์์ต๋๋ค.
- ๋จผ์ LLM์ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ ๋๋ค
- ๊ทธ ๋ค์ ์จ๋ผ์ธ์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ฒ์ํฉ๋๋ค
- ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๋ค์ LLM์ ๋ณด๋ด ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ , ์ด๋ฅผ ์ถ๋ ฅํฉ๋๋ค
๊ฐ ๋จ๊ณ๋ ๋ชจ๋ ์ด๋ ํ ํ๋์ ์ฐ์์ ๋๋ค. ์ด๋ฐ ํ๋์ ์ฐ์, ๋ญ์ฒด์ธ์์๋ ์ด๋ฅผ โ์ฒด์ธโ์ด๋ผ๊ณ ๋ถ๋ฅด์ฃ .
์ด์ฒ๋ผ ์ธ์ด ๋ชจ๋ธ๊ณผ ํจ๊ป ์ฐ์์ ์ผ๋ก ์ํํ๊ณ ์ ํ๋ ์ผ๋ จ์ ํ๋์ ์ฒด์ธ์ ์ ์ฉํ๋ฉด, ๋ ธ๋ ฅ์ ๊ธฐ์ธ์ด์ง ์๊ณ ๋ ๋ฉ์ง๊ณ ์ฐ์ํ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋[1]๋ฅผ ์์ฑํ ํ์๋ ์์ต๋๋ค. ํ๋ ์์ํฌ๊ฐ ์ฌ๋ฌ ๊ท์ฐฎ์ ์์ ์ ๋์ ํด ์ฃผ๋๊น์.
๋ญ์ฒด์ธ์ ๋๊ตฌ์ ์ถ์ํ
๋ญ์ฒด์ธ์ด ์ผ๋ง๋ ๋ฉ์ง์ง, ์ด๋ ์ ๋ ์ ๋ฌ๋์์๊น์?
ํ์ง๋ง ์์ง LLM ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌํ์ ์ํด ์ด๋ค ๋๊ตฌ์ ์ถ์ํ๊ฐ ์ฐ์ด๋ ์ง๋ ๋งํ์ง ์์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋ณผ๊น์? ๊ฐ๋ ฅํ ์ธ์ด ๋ชจ๋ธ, ์ด๋ฅผํ ๋ฉด ํด๋ก๋์ ์๋ท(Sonnet) ์์ ์ฑ์ ๊ตฌ์ถํ๊ณ ์ ํฉ๋๋ค. ์ฌ๊ธฐ์ LLM์ด ๋ฏธ์ฒ ํ๋ จํ์ง ์์, ์ฐ๋ฆฌ๋ง ๊ฐ์ง ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๊ณ ์ถ์ต๋๋ค. PDF ํ์ผ์ด๋ ์ด๋ฉ์ผ, ๋๋ ๋ ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ ์๋ ์์ฃ .
๋์ด ์๋๋๋ค. ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ผ ํ๋กฌํํธ๋ฅผ ๋์ ์ผ๋ก ๊ตฌ์ฑํ๊ณ ์ถ์ต๋๋ค. ๋ฌผ๋ก ์ฌ์ฉ์์ AI๊ฐ ์ฃผ๊ณ ๋ฐ์ ๋ฉ์์ง ๊ธฐ๋ก๋ ์ ์ฅํด์ผ ํ๊ณ ์. ๋ฏธ์คํธ๋(Mistral)์ฒ๋ผ ๋ค๋ฅธ LLM์ ํจ๊ป ์ฐ๊ฑฐ๋, ๊ตฌ๊ธ ๊ฒ์ ๊ฐ์ ๋๊ตฌ์ ์ฐ๊ฒฐํ๋ฉด ๋ ์ข๊ฒ ์ต๋๋ค. ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ๋ฅธ API ํธ์ถ ์ญ์ ํ์ํ๊ณ ์.
์ด๋ฅผ ๋ชจ๋ ๊ตฌํํ๋ฉด ์์ฃผ ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ฌ ๊ฒ๋๋ค. ๋ค๋ง ์๊ตฌ ์ฌํญ๊ณผ ๊ธฐ๋ฅ์ ๋์์์ด ๋ํด์ง ํ ๊ณ ์. LLM ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ ๊ตฌ์ถํ๋ ๊ฒ์ด ๊ฐ๋จํ์ง ์๊ฒ ์ฃ ?
๊ทธ๋์ ์ฌ๋ฌ ๋ถ๋ถ์ ํจ๊ป ๋ง์ถ๋ฉฐ ๋๊ธฐํํด์ผ ํฉ๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ๋ญ์ฒด์ธ์ ์ด์ฒ๋ผ ๋ฌด๊ฑฐ์ด ์์ ์ ๋ชจ๋ ๋์์ค๋๋ค. ์์ ์ด ํจ์ฌ ๋ ์ฌ์์ง ๊ฒ๋๋ค. ๋ชฉ์ ์ ๋ฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ ๋งํ ์ฌ๋ฌ ํต์ฌ ๊ธฐ๋ฅ์ ๋ชจ๋๋ก ๋๋์ด ์ ๊ณตํ๋๊น์.
๋ญ์ฒด์ธ์ผ๋ก ํ ์ ์๋ ๊ฒ๋ค
๋ญ์ฒด์ธ์ผ๋ก ํ ์ ์๋ ๊ฒ๋ค, ๋ช ๊ฐ์ง๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
LLM๊ณผ ์ํธ ์์ฉํ๋ ๊ฐ๋ ์ ์ถ์ํํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ์๋ง์ ๊ฐ์์ ๋ฏ ๊ฐ๋จํ๊ฒ ๋ชจ๋ธ์ ๊ต์ฒดํ ์ ์์ต๋๋ค. ์ํ๋ ๋ชจ๋ธ์ ๊ฐ๋จํ ๊ฐ์ ธ์์ ์ฐ๋ฉด ๊ทธ๋ง์ ๋๋ค. ๋ชจ๋ LLM ์ ๊ณต ์ ์ฒด์ ๋ง์ถฐ ์ธ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฏ๋ก ๊ฐ๋ฐ์์๊ฒ ์์ ๋ฅผ ์ฃผ๋ ๊ฒ์ด์ฃ . LLM ์ ๊ณต ์ ์ฒด์์ ๊ฒฐํฉ์ ํด์ ํ๊ณ ์ธ์ ๋ ์ง ์ ๊ณต ์ ์ฒด๋ฅผ ๋ณ๊ฒฝํ ์๋ ์์ต๋๋ค. ์ฆ, ํน์ LLM์ ์ข ์๋์ง ์๊ฒ ํด์ค๋๋ค.
๋ ๋ค๋ฅธ ๋ชจ๋์ ํ๋กฌํํธ์ ๋๋ค. ํ๋กฌํํธ ๊ด๋ฆฌ ์ต์ ํ/์ง๋ ฌํ์ ๋์์ ์ค๋๋ค. ํ๋กฌํํธ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ , ์ฌ์ฉ์ ์ ๋ ฅ์ ๋์ ์ผ๋ก ํ ํ๋ฆฟ์ ์ฃผ์ ํ๋ฉด ์ ๋ ฅ๊ณผ ํจ๊ป ํ๋กฌํํธ ํ ํ๋ฆฟ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. LLM์ ์ ์กํ ์ต์ข ํ๋กฌํํธ๋ฅผ ์ด๋ฏธ์ง์ฒ๋ผ ๋ง๋ค์ด ์ฃผ์ฃ . ์ด๋ LLM ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ๋ง์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋ก๋ํ๋ ๋ฐ ์ฐ๋ ๋ฌธ์ ๋ก๋๋ ์์ต๋๋ค. ๋ ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, PDF ํ์ผ, ์ด๋ฉ์ผ, ๊ทธ๋ฆฌ๊ณ ์์ฒ ๊ฐ์ ๋ค๋ฅธ ๋ฐ์ดํฐ ์์ค์ ์ธ ์ ์์ฃ . ๋ชจ๋์ ๋ฐ์ดํฐ ์์ค๋ฅผ ๋ก๋ํ๋ฉด ๋ญ์ฒด์ธ ๋ฌธ์๋ผ๋ ๋จ์ผ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. LLM์ผ๋ก ์ ๋ฌํ๊ธฐ ์ , ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ๋งค์ฐ ์ฌ์์ง๋๋ค.
์์ด์ ํธ ์์ฝ์์คํ ์ ์ฒด๋ฅผ ์ง์ํ๋ค๋ ๊ฒ๋ ์ค์ํฉ๋๋ค. ๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ์์ด์ ํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ์ถ๋ค๋ฉด, LLM์ ์ถ๋ก ๋ฅ๋ ฅ์ ํ์ฉํ๋ฉฐ ์ธํฐ๋ท ๊ฒ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ, ์ด๋ฉ์ผ ์ ์ก ๋ฑ๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ง ๊ทธ๋๋ก LLM์ ์ด๋ฅ๋ ฅ์ ๋ถ์ฌํ๋ฏ ๋ณต์กํ ๋ก์ง์ ๊ตฌํํ ์ ์๋ ๊ฒ์ด์ฃ .
์ด์ฉ๋ฉด ์ด๋ฐ ์ค๋ช ๋ LLM ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋, ๋ญ์ฒด์ธ์ด ์ ๊ณตํ ์ ์๋ ๋ฅ๋ ฅ์ ๋นํ๋ฉด ๋น์ฐ์ ์ผ๊ฐ์ ๋ถ๊ณผํ ๊ฒ๋๋ค.
๋ญ์ฒด์ธ ๊ธฐ์ด ํ๊ฒฝ ์ค์
์ด์ ์ด๋ก ์ ๋์ด, ๋ญ์ฒด์ธ์ ํ์ฉํ๊ธฐ ์ํ ๊ธฐ์ด ํ๋ก์ ํธ ์ค์ ์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
๋ธ๋์น๋ฅผ ๋ณต์ ํ๊ณ , ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ํ์ด์ฐธ(PyCharm)์ ์ค์ ํ ๋ค์ ์ฑ์ ์ค๋นํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ชจ๋ ์ค์ ์ ๋ง์น๋ฉด ์ง์ ๋ญ์ฒด์ธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ ๊ฒ๋๋ค.
๋ฌผ๋ก ์ ๋ ํ์ด์ฐธ์ ์ฐ์ง๋ง, VSCode๋ Vim์ ์ฌ์ฉํด๋ ๊ด์ฐฎ์ต๋๋ค. ์ ์๊ฐ์ ๊ฐ๋จํ ์กฐ์์๋ ์ด๋ค IDE๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋๋ฅผ ์คํํ๊ณ ๋๋ฒ๊น ํ ์ ์๋ค๋ฉด ์๊ด์์ด ๋ณด์ ๋๋ค.
๋ธ๋์น ๋ณต์ ์ ์ธํฐํ๋ฆฌํฐ ์ค์ ํ๊ธฐ
๊ทธ๋ผ ์์ํ๊ฒ ์ต๋๋ค. ์ ๊ฐ ์ค๋นํ ๊นํ๋ธ ๋ฉ์ธ ์ ์ฅ์ (emarco177/ice_breaker
)๋ก ๊ฐ์, โ1-start-hereโ๋ผ๋ ๋ธ๋์น๋ก ์ด๋ํ๊ฒ ์ต๋๋ค. URL์ ๋ณต์ฌํ๊ณ , ์ด์ ํฐ๋ฏธ๋๋ก ์ด๋ํด ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด ์ฃผ์ธ์. ๋ธ๋์น๋ฅผ ๋ณต์ ํด์ผ ํ๋ฏ๋ก, โgit clone -bโ ๋ช
๋ น์ด๋ฅผ ์ฐ๊ฒ ์ต๋๋ค.
๊ฐ๋จํฉ๋๋ค. ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์ ๋ ฅํ๋ฉด, ์๋ฃ์ ๋๋ค. ์ด ์ ์๋ ์ ์ฅ์๊ฐ ์๊ฒผ์ต๋๋ค.
ํ์ด์ฐธ์์ ํ๋ก์ ํธ๋ฅผ ์ด๊ณ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ ์ ์ด๊ธฐํ ๊ณผ์ ์ด ์งํ๋ ๊ฒ๋๋ค. ์ฌ๊ธฐ์๋ ์ค๋ฅธ์ชฝ ํ๋จ์์ โ1-start-hereโ ๋ธ๋์น์์ ์์ํ๋ ๊ฒ์ ํ์ธํด์ผ ํฉ๋๋ค.
์ด์ ์ด ํ๋ก์ ํธ๋ฅผ ์คํํ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ค์ ํ ์๊ฐ์ ๋๋ค. ํ์ด์ฐธ์์ ํ๊ฒฝ์ค์ ์ผ๋ก ์ด๋ํ๊ฒ ์ต๋๋ค. โPreferencesโ ๋ฉ๋ด๋ฅผ ํด๋ฆญํ๊ณ โPython Interpreterโ๋ก ์ด๋ํ ๊ฒ์. โShow Allโ์ ํด๋ฆญํ๊ณ , ํ๋ฌ์ค(+) ๋ฒํผ์ ๋๋ฌ, Pipenv ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ ํํฉ๋๋ค.
์ ๋ ํจํค์ง ๊ด๋ฆฌ์์ ๊ฐ์ ํ๊ฒฝ์ผ๋ก Pipenv๋ฅผ ์ฌ์ฉํ ๊ณํ์ ๋๋ค. ํ์ฌ ์ด๋ฏธ Pipenv ํ๊ฒฝ์ด ์๋ ์ค์ด๋ผ๊ณ ๋จ๋ฉด ์๋ก ํ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ธฐ์กด ํ๊ฒฝ์ ์ ํํ๊ณ ์งํํฉ๋๋ค. ๋ง์ฝ ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค๋ ค๋ฉด, โPipenv shellโ์ ์ ๋ ฅํ๋ฉด ๋ฉ๋๋ค. ์ด ๋ช ๋ น์ผ๋ก Pipfile์ด ์์ฑ๋ฉ๋๋ค. Pipfile์ ์ค์นํ ๋ชจ๋ ํจํค์ง๋ฅผ ํฌํจํ๋ ์ ์ฅ์์ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.
๋ญ์ฒด์ธ ์ค์นํ๊ธฐ
๋ณธ๊ฒฉ์ ์ธ ์์์ ๋๋ค. ๋ญ์ฒด์ธ์ ์ค์นํ๊ฒ ์ต๋๋ค. ์ ๋ง ๊ฐ๋จํฉ๋๋ค. โpipenv install langchainโ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๊ทธ๋ง์ด์ฃ . ๋ชจ๋ ์ข ์์ฑ๊ณผ ๋ญ์ฒด์ธ ํจํค์ง๊ฐ ์ค์น๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
์ด์ด LangChain-OpenAI ํจํค์ง๋ ์ค์นํ๋ ค๊ณ ํฉ๋๋ค. ๋ญ์ฒด์ธ์ ์คํAI์์ ์ ๊ณตํ๋ LLM๊ณผ ํตํฉํด์ฃผ๋ ์๋ํํฐ ํจํค์ง์ ๋๋ค. GPT-3.5, GPT-4๋ฅผ ํฌํจํ์ฃ . ๋ญ์ฒด์ธ์ GCP, ๋ฒํ ์ค(Vertex) AI, AI21, ์คํธ๋กํฝ(Anthropic) ๋ฑ ์๋ง์ LLM ๋ฒค๋์ ์ด์ด์ ธ ์์ต๋๋ค.
pipenv install langchain-openai
LangChain-Community ํจํค์ง๋ ์ค์นํ๋ฉด ์ข์ต๋๋ค. ์ด ํจํค์ง๋ ํ ์คํธ ๋ถํ ๊ธฐ(Text Splitter)๋ ์ถ๋ ฅ ํ์(Output Parser)์ ๊ฐ์ด ์ปค๋ฎค๋ํฐ์์ ๊ธฐ์ฌํ ์๋ง์ ์ฝ๋๋ฅผ ํฌํจํ๊ณ ์์ฃ .
pipenv install langchain-community
๋ง์ง๋ง์ผ๋ก ์ค์นํ ๊ฒ์ LangChain-Hub ํจํค์ง์ ๋๋ค. ์ด ํจํค์ง๋ ์ปค๋ฎค๋ํฐ์์ ๊ธฐ์ฌํ ํ๋กฌํํธ๋ฅผ ๋์ ์ผ๋ก ๋ค์ด๋ก๋ํ ์ ์๊ฒ ๋์์ค๋๋ค. ๋ญ์ฒด์ธ ์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌ์๋ค์ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ๋ ธ๋ ฅ์ ๊ธฐ์ธ์๊ณ , ํ๋ฅญํ ํ๋กฌํํธ๋ฅผ ๋ง์ด ๋ง๋ค์ด ๋์ต๋๋ค. LangChain-Hub ํจํค์ง๋ฅผ ์ฐ๋ฉด ์ด๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
pipenv install langchainhub
๋ญ์ฒด์ธ์ด ๋ค์ํ๊ฒ ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ ์ด์
์ ์ ์๋ฌธ์ด ๋ญ๋๋ค. ์ ๋ญ์ฒด์ธ ๊ด๋ จ ๋ค๋ฅธ ํจํค์ง๋ ๋ชจ๋ ๋ฐ๋ก ์ค์นํด์ผ ํ ๊น์?
๋ญ์ฒด์ธ์ด ์๋ง์ ๋ฆฌํฉํ ๋ง์ ๊ฑฐ์ณค๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฒ์์๋ ๋ญ์ฒด์ธ ํจํค์ง๋ง ์์์ต๋๋ค. ๊ทธ ํจํค์ง ์์ ๋ชจ๋ ๊ตฌํ ์ฌํญ์ด ๋ค์ด ์์์ฃ . ๋ค๋ง ๊ทธ๋์ ๋ญ์ฒด์ธ์ ์ค์นํ ๋๋, ๋ค๋ฅธ ๋ชจ๋ ์์๋ค๋ ํจ๊ป ์ค์นํด์ผ ํ์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์คํAI๊ฐ ์ ๊ณตํ๋ LLM์ ์ฐ๊ณ ์ถ๋ค๋ฉด ์คํAI SDK๋ง ์ค์นํ ์๊ฐ์ ํ๊ฒ ์ฃ ? ๊ทธ๋ฌ๋ ๋ญ์ฒด์ธ์ ์ค์นํ๋ ค๋ฉด ์ ๋ฏธ๋์ด(Gemini) SDK, ์คํธ๋กํฝ SDK, ๋ฏธ์คํธ๋ SDK ๋ฑ ๋ค๋ฅธ ๋ฒค๋์ SDK๊น์ง ๋ชจ๋ ์ค์นํด์ผ ํ์ต๋๋ค. ๊ทธ ๋๋ฌธ์ ์ค์ ๋ก๋ ์ฐ์ง ์๋ ๋ถํ์ํ ํจํค์ง๋ฅผ ๋ชจ๋ ๋ค์ด๋ก๋ํด์ผ ํ์ต๋๋ค.
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ๋ญ์ฒด์ธ์ ๋ฒ์ 0.1๋ถํฐ ํจํค์ง๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ์์ํ์ต๋๋ค. ์ถ๋ ฅ ํ์๋ ํ ์คํธ ๋ถํ ๊ธฐ์ฒ๋ผ ๊ณต์ ๋ฒค๋์ ๊ด๋ จ ์๋ ๊ธฐ์ฌ ์ฝ๋๋ ๋ฐฉ๊ธ ์ค์นํ LangChain-Community ํจํค์ง์ ๋ค์ด๊ฐ์ต๋๋ค.
๋, ํน์ ๋ฒค๋์ ์ฝ๋๋ฅผ ํฌํจํ๋ ํจํค์ง๋ LangChain-OpenAI, LangChain-Mistral, LangChain-Anthropic๊ณผ ๊ฐ์ด ๊ตฌ๋ถํ์ต๋๋ค. ์ด ํจํค์ง๋ ํด๋น LLM ๋ฒค๋์ ๊ฐ๋ฐํ์์ ์ง์ ๊ธฐ์ฌํ๊ณ ์ ๋ฐ์ดํธํฉ๋๋ค.
๊ทธ ๊ฒฐ๊ณผ, ํจํค์ง๋ณ๋ก ๋ค์ํ ์กฐ์งํ์ ๊ตฌ์กฐํ๊ฐ ์ด๋ค์ก์ต๋๋ค. ๊ทธ๋์ ์ด์ ์ฐ๋ฆฌ๊ฐ ์ฐ์ง ์์ ํจํค์ง๋ ๋ค์ด๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค. ๋ ๊ทธ๋ฐ ๋งํผ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌํ๊ธฐ ํจ์ฌ ์ฌ์์ก์ฃ .
๋ฌ๋ ์ถ๊ฐํ๊ธฐ
์ด์ ์๋ก์ด ํ์ผ์ ๋ง๋ค๊ฒ ์ต๋๋ค. ์ ํ์ผ์ ๋ง๋ค๊ณ โice_breakerโ๋ผ๊ณ ํด๋ณด์ฃ .
๊ธฐ๋ณธ๋ถํฐ ์์ํ๊ฒ ์ต๋๋ค. ์์๋๋ก if name == โmainโ;
๊ณผ print(โHello LangChainโ)
์ ์
๋ ฅํฉ๋๋ค. ์ด์ ํฐ๋ฏธ๋์์ ์คํํด ๋ณผ๊น์? ๋ชจ๋ ๊ฒ์ด ์ ์๋ํฉ๋๋ค.
โEdit Configurationsโ ๋ฉ๋ด๋ก ๊ฐ์ ์๋ก์ด ๋ ์ํผ๋ฅผ ์ถ๊ฐํ๊ณ ๋ ๋ค๋ฅธ ๋ฌ๋๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค. ํ๋ฌ์ค(+) ๋ฒํผ์ ํด๋ฆญํ๊ณ , ์ด๋ฆ์ ์ง์ ํ์ต๋๋ค. ์คํฌ๋ฆฝํธ ๊ฒฝ๋ก๋ ๋ฐฉ๊ธ ๋ง๋ ํ์ผ, ice_breaker.py์ ๊ฒฝ๋ก๊ฐ ๋ ๊ฒ์ ๋๋ค. ๋ง์ง๋ง์ผ๋ก โApplyโ๋ก ์ ์ฉํ๊ฒ ์ต๋๋ค. ์ด์ ๋ฌ๋๋ฅผ ์คํํ๋ฉด, ๋ฌธ์ ์์ด ์๋ํ ๊ฒ๋๋ค.
์ด๋ ๊ฒ ๋ธ๋์น๋ฅผ ๋ณต์ ํ์ฌ ํ๊ฒฝ์ ๋ง๋ค๊ณ ๋ญ์ฒด์ธ์ ์ค์นํ ๋ค์, ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ฌ๋๋ฅผ ์ค์ ํ์ต๋๋ค.
๋ง์น๋ฉฐ
์ง๊ธ๊น์ง ๋ญ์ฒด์ธ์ ๊ธฐ๋ณธ ๊ฐ๋ ๊ณผ ์ฅ์ ์ ๋ณด๊ณ , ๊ธฐ์ด ํ๊ฒฝ ์ค์ ์ ํ์ํ ํจํค์ง ๋ฑ์ ์๋ดํ์ต๋๋ค.
๋ค์ ์๊ฐ๋ถํฐ๋ ๋ญ์ฒด์ธ์ ํ ํฐ ํ๋ ์ฒ๋ฆฌ ์ ๋ต๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ด๋ก , ๋ ๋ญ์ฒด์ธ ์ปค๋ฎค๋ํฐ์์ ๊ธฐ์ฌํ ์ฌ๋ฌ ๋๊ตฌ์ ์ฉ๋๋ฅผ ์ดํด๋ณผ ์์ ์ ๋๋ค. ๋ค์ํ ๋ถ์ผ์์ ์ต์ฒจ๋จ LLM ์๋ฃจ์ ์ ๊ฐ๋ฐํ ๋ ํ์ํ ๊ธฐ์ ๊ณผ ์ง์์ ์ ์ ๋ฌํ๊ธฐ ์ํด ๋ ธ๋ ฅํด ๋ณด๊ฒ ์ต๋๋ค.
์๋ณธ ๊ฐ์ ๋ณด๋ฌ ๊ฐ๊ธฐ
๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋(Boilerplate code): ๋๋ ์์ฉ๊ตฌ ์ฝ๋. ์ฌ๋ฌ ์ํฉ์์ ๊ฑฐ์ ๋๋ ์ ํ ๋ฐ๊พธ์ง ์๊ณ ์ฌ์ฌ์ฉํ ์ ์๋ ์ปดํจํฐ ์ธ์ด ํ ์คํธ โฉ๏ธ