Skip to main content

LLM ์„œ๋น„์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ์•Œ์•„๋‘๋ฉด ์ข‹์„ 3๊ฐ€์ง€ ํˆด

์œ ๋ฐ๋ฏธ2024๋…„ 12์›” 13์ผAbout 2 minAILLMLangChainArticle(s)blogyozm.wishket.comaillmlarge-language-modellangchainlang-chain

LLM ์„œ๋น„์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ์•Œ์•„๋‘๋ฉด ์ข‹์„ 3๊ฐ€์ง€ ํˆด ๊ด€๋ จ

LangChain > Article(s)

Article(s)

LLM ์„œ๋น„์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ์•Œ์•„๋‘๋ฉด ์ข‹์„ 3๊ฐ€์ง€ ํˆด
LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์œ ์šฉํ•œ ํˆด์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์งˆ ์ข‹์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ชจ์•„๋‘” ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ(LangChain Hub), ํ…์ŠคํŠธ ๋ถ„ํ•  ์ž‘์—…์„ ๋„์™€์ค„ ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(Text Splitter Playground)๋Š” LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•ด ์ค„ ์•„์ฃผ ์œ ์šฉํ•œ ํˆด์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ๋žญ์ฒด์ธ๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์˜ ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ๋งˆ ์ธ๋ฑ์Šค๋„ ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

IT ์ง€์‹์ด ๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•ด์ง„ ์š”์ฆ˜, ์—ฌ๋Ÿฌ๋ถ„์€ ์–ด๋–ป๊ฒŒ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‚˜์š”? ๊ฐ€์žฅ ๋จผ์ € ๋ˆˆ๊ธธ์ด ๊ฐ€๋Š” ๊ฑด ๋‹ค์–‘ํ•œ IT ๊ฐ•์˜ ์˜์ƒ์ผ ๊ฒ๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ต์œก ๊ธฐ์—…๋“ค๊ณผ ํ•จ๊ป˜, ์š”์ฆ˜IT์—์„œ โ€˜IT ๊ฐ•์˜ ์‹œ๋ฆฌ์ฆˆโ€™๋ฅผ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—„์„ ํ•œ ๊ต์œก ์˜์ƒ์„ ํ…์ŠคํŠธ๋กœ ์ฝ๊ณ  ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ๊ฐ€์„ธ์š”.

์ด๋ฒˆ ๊ฐ•์˜๋Š” โ€˜๋žญ์ฒด์ธ์œผ๋กœ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„ํ•˜๊ธฐโ€™์ž…๋‹ˆ๋‹ค. ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์˜ ๊ณ ๊ฐ ์—”์ง€๋‹ˆ์–ด์ด์ž ์ด์Šค๋ผ์—˜ ๋ผ์ดํžˆ๋งŒ ๋Œ€ํ•™์—์„œ ์ปดํ“จํ„ฐ ๊ณผํ•™์„ ๊ฐ€๋ฅด์น˜๋Š” ์—๋ด ๋งˆ๋ฅด์ฝ”(Eden Marco) ๋‹˜์ด ๊ฐ•์˜๋ฅผ ๋งก์•˜์Šต๋‹ˆ๋‹ค. ๋žญ์ฒด์ธ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ๋„์›€์„ ์ฃผ๋Š” ๋„๊ตฌ ์ •๋ณด๊นŒ์ง€, ํ…์ŠคํŠธ ํ™˜๊ฒฝ์— ์ ํ•ฉํ•œ ๋‚ด์šฉ๋“ค๋งŒ ๊ฐ„์ถ”๋ ค ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์˜์–ด๋กœ ์ง„ํ–‰ํ•œ ๊ฐ•์˜์˜ ๋ฒˆ์—ญ๋ณธ์„ ๊ธฐ์ดˆ๋กœ ๊ธ€์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์˜์ƒ์€ ์œ ๋ฐ๋ฏธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ใ€ํ•œ๊ธ€์ž๋ง‰ใ€‘ ๋žญ์ฒด์ธ - LangChain ์œผ๋กœ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœํ•˜๊ธฐ
์‹ค์ œ ์ƒ์„ฑํ˜• ์ธ๊ณต์ง€๋Šฅ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•ด๋ณด๋ฉด์„œ LangChain์„ ๋ฐฐ์šฐ์„ธ์š”. (Python, ์ตœ์‹  ๋ฒ„์ „ 0.3.0)

์•ˆ๋…•ํ•˜์„ธ์š”, ์—๋ด ๋งˆ๋ฅด์ฝ”์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์œ ์šฉํ•œ ํˆด์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์งˆ ์ข‹์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ชจ์•„๋‘” ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ(LangChain Hub), ํ…์ŠคํŠธ ๋ถ„ํ•  ์ž‘์—…์„ ๋„์™€์ค„ ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(Text Splitter Playground)๋Š” LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•ด ์ค„ ์•„์ฃผ ์œ ์šฉํ•œ ํˆด์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ๋žญ์ฒด์ธ๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์˜ ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ๋งˆ ์ธ๋ฑ์Šค๋„ ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.


๋žญ์ฒด์ธ ํ—ˆ๋ธŒ

๊ฐ€์žฅ ๋จผ์ €, ์•„์ฃผ ์œ ์šฉํ•œ ์‚ฌ์ดํŠธ๋ฅผ ์•Œ๋ ค ๋“œ๋ฆด๊ฒŒ์š”. ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ(LangChain Hub)๋ผ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ์ง€์ ์—์„œ ํ”„๋กฌํ”„ํŠธ, ์ฒด์ธ, ์—์ด์ „ํŠธ ๋“ฑ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”, ์ด๋Ÿฐ ํ”„๋กฌํ”„ํŠธ๋“ค์ด ๋ชจ์—ฌ ์žˆ๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์ฃ .

์šฐ๋ฆฌ๊ฐ€ LLM์œผ๋กœ ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค๋ฉด ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ณ ํ’ˆ์งˆ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ํ’ˆ์งˆ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์–ป์œผ๋ ค๋ฉด, ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ์ˆ ์ด ๋งŽ์ด ํ•„์š”ํ•˜๊ณ ์š”. ๊ทธ๋ž˜๋„ ์ž˜๋งŒ ์“ฐ๋ฉด LLM์—์„œ ๋” ๋งŽ์€ ๊ฒƒ์„ ์–ป๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ์—์„œ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์ž์ฃผ ์“ฐ๋Š” ํ”„๋กฌํ”„ํŠธ ์ปฌ๋ ‰์…˜์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ˆ„๊ตฌ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์ฃ .

๋žญ์ฒด์ธ ํ—ˆ๋ธŒ ๋‘˜๋Ÿฌ๋ณด๊ธฐ

๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ๊ธ€์— ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ(langchain hub)๋ฅผ ๊ฒ€์ƒ‰ํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์ด๋Š” ๋žญ์Šค๋ฏธ์Šค(LangSmith)์˜ ์ผ๋ถ€์˜ˆ์š”.

ํ™”๋ฉด ์˜ค๋ฅธ์ชฝ์„ ๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์‚ดํŽด๋ณผ ํ”„๋กฌํ”„ํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๊ฐ€ ์šฉ๋„(Use Cases)๋ณ„๋กœ ์ •๋ ฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ์šฉ์ธ์ง€, ์ž์œจ ์—์ด์ „ํŠธ์šฉ์ธ์ง€, ๋ถ„๋ฅ˜ ์ž‘์—…์šฉ์ธ์ง€, ์ฝ”๋“œ ์ž‘์„ฑ์šฉ์ธ์ง€, ์—”ํ‹ฐํ‹ฐ ์ถ”์ถœ์šฉ์ธ์ง€, ์ž์ฒด ๊ฒ€์‚ฌ์šฉ์ธ์ง€, ์ด๋Ÿฐ ์šฉ๋„์— ๋”ฐ๋ผ์„œ์š”. ํƒ€์ž…(Type)๊ณผ ์–ธ์–ด(Language)๋กœ๋„ ํ•„ํ„ฐ๋ฅผ ๊ฑธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŽ˜์ด์ง€ ๊ตฌ์„ฑ ์‚ดํŽด๋ณด๊ธฐ

๋ฌธ์„œ QA(QA over document) ์„น์…˜์œผ๋กœ ๋“ค์–ด๊ฐ€ ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ(RAG) ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ํ”„๋กฌํ”„ํŠธ๋“ค์„ ์‹ค์ œ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๋ณผ ์ˆ˜ ์žˆ์ฃ . hub.pull ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  URL์„ ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋„ค์š”.

ํŽ˜์ด์ง€ ์˜ค๋ฅธ์ชฝ์—์„œ๋Š” ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ์ด ํ”„๋กฌํ”„ํŠธ์˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ปค๋ฐ‹์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”. ์›ํ•  ๊ฒฝ์šฐ์—๋Š” ๋˜ ๋‹ค๋ฅธ ์ปค๋ฐ‹์„ ๋ณผ ์ˆ˜๋„ ์žˆ์ฃ .

ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์—์„œ ํ”„๋กฌํ”„ํŠธ ์ž‘๋™ ์‹คํ—˜ํ•˜๊ธฐ

๋˜, ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ธ๊ธฐ ์ˆœ์ด๋‚˜ ๋‹ค์šด๋กœ๋“œ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋‹ค์šด๋กœ๋“œ ์ˆ˜, ์ข‹์•„์š” ์ˆ˜, ๋Œ“๊ธ€ ์ˆ˜๋ฅผ ๋ณผ ์ˆ˜๋„ ์žˆ์–ด์š”. ์ด ํ”„๋กฌํ”„ํŠธ์˜ ๋ณ€๊ฒฝ ์—ฌ๋ถ€๋ฅผ ๋ณด๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋„ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์ƒ์„ธ ํŽ˜์ด์ง€๋ฅผ ํ•˜๋‚˜๋งŒ ๋” ๋ณผ๊นŒ์š”? ์•„๋ž˜๋Š” ์—์ด์ „ํŠธ ์ฑ—๋ด‡ ๊ด€๋ จ ํ”„๋กฌํ”„ํŠธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ์„ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(Playground)์—์„œ ์—ด๊ณ  ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด, ํ•ด๋‹น ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ๋ฌด์Šจ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”.

์ƒˆ๋กœ์šด ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹คํ—˜ํ•  ๋•Œ ์•„์ฃผ ์ง๊ด€์ ์œผ๋กœ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํˆด์ด์—์š”. ์•„์‹œ๋‹ค์‹œํ”ผ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ์•„์ฃผ ํฐ ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๊ฑฐ๋“ ์š”. ๋‹ค์–‘ํ•œ ๋ฒค๋”, ์˜จ๋„๋‚˜ ๊ธธ์ด, ํŽ˜๋„ํ‹ฐ ๋“ฑ ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ด ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ํ–‰๋™ํ•˜๋Š”์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ

์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” LLM์„ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฏธ๋””์—„ ์•„ํ‹ฐํด์ด๋‚˜ ๋žญ์ฒด์ธ ๊ณต์‹ ๋ฌธ์„œ ๋“ฑ์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๊ฒ ์ฃ . ๋˜, ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  QA๋ฅผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์ง€๋งŒ ์ค‘์š”ํ•œ, ํ…์ŠคํŠธ ๋ถ„ํ•  ์ž‘์—…

ํ•˜์ง€๋งŒ ์ด๋ฅผ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด์€ โ€œ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ์ˆ˜์ง‘ํ•ด์•ผ ํ•œ๋‹คโ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ๋Š” ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๊ฑฐ๋‚˜ ํฐ ํŒŒ์ผ์„ ๋” ์ž‘์€ ์ฒญํฌ๋กœ ๋ถ„ํ• ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฒกํ„ฐ ์Šคํ† ์–ด์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋Œ์–ด์˜ฌ ์ˆ˜๋Š” ์—†๊ฑฐ๋“ ์š”. ์ฒญํฌ๋Š” ์ž‘๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํˆดํ‚ท ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ† ํฐ์„ ๋งŽ์ด ํ™•๋ณดํ•˜๋ ค๋ฉด ๋„ˆ๋ฌด ์ปค์„œ๋Š” ์•ˆ ๋˜์ฃ .

์ด ์ž‘์—…์€ ์‚ฌ์†Œํ•ด ๋ณด์ผ ์ˆ˜ ์žˆ๊ณ , ์–ด์ฉŒ๋ฉด ๋ฏธ๋ฌ˜ํ•ด์„œ ๊ทธ๋ƒฅ ์ง€๋‚˜์น˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ์š”. ๊ฐ ์ฒญํฌ ๋‹จ์œ„๊ฐ€ ๋ง์ด ๋˜๋„๋ก ํ…์ŠคํŠธ๋ฅผ ๋ถ„ํ• ํ•ด์•ผ LLM๋„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผํ…Œ๋ฉด ์ฒญํฌ ๋‹จ์œ„๋ฅผ ๋Œ€๊ฐ• ์„ค์ •ํ•ด ๋ฌธ์žฅ์ด ์ค‘๊ฐ„์— ๋Š๊ฒจ ์ „๋‹ฌ๋œ๋‹ค๋ฉด, LLM์ด ๋‚ด์šฉ์„ ์–ด์ƒ‰ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒ ์ฃ . ์ฒญํฌ๋ฅผ ์ž‘๊ฒŒ ์ชผ๊ฐœ๋”๋ผ๋„ ์ดํ•ด๋Š” ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ € ์—ญ์‹œ ๋ฐ์ดํ„ฐ ๋ถ„ํ•  ๋ฐฉ๋ฒ•, ์ฒญํฌ ์˜ค๋ฒ„๋žฉ ์„ค์ • ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋งŽ์€ ์งˆ๋ฌธ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ฒญํฌ ํฌ๊ธฐ์™€ ๋ถ„ํ•  ๋ฐฉ๋ฒ•์— ๊ด€ํ•ด์„œ๋„์š”. ์†”์งํžˆ ๋งํ•˜๋ฉด, ์ •๋‹ต์€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ์ € ์‚ฌ๋ก€์— ๋งž๊ฒŒ ๊ฐ๊ฐ ๋‹ฌ๋ฆฌ ๋‹ค๋ค„์•ผ ํ•ด์š”.

ํ…์ŠคํŠธ ๋ถ„ํ•  ์‹œ๊ฐํ™” ํˆด, ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ

ํ•˜์ง€๋งŒ ๋‹คํ–‰ํžˆ๋„ ๋žญ์ฒด์ธ์—์„œ ์ด์ฒ˜๋Ÿผ ์ค‘์š”ํ•œ ํ…์ŠคํŠธ ๋ถ„ํ•  ์ž‘์—…์„ ์‹œ๊ฐํ™”ํ•ด ์ฃผ๋Š” ํˆด์„ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ๋ผ๋Š” ํˆด์ด์ฃ .

๊ตฌ๊ธ€์— ๋žญ์ฒด์ธ ํ…์ŠคํŠธ ๋ถ„ํ•  ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(langchain text splitting playground)๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์ƒ์œ„ ๊ฒฐ๊ณผ์— ๋‚˜์˜ฌ ๊ฒ๋‹ˆ๋‹ค. ๊นƒํ—™ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ (angchain-ai/text-split-explorer)์™€ ์ŠคํŠธ๋ฆฌ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค์ธ ๋งŒํผ ๊นƒํ—™ ์—์„œ๋Š” ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ณผ ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ๋žญ์ฒด์ธ์—์„œ ํ˜ธ์ŠคํŒ…ํ•œ ์ด ๋งํฌ๋ฅผ ํด๋ฆญํ•ด ๋ณผ๊นŒ์š”?

์‚ฌ์šฉ์€ ์•„์ฃผ ์ง๊ด€์ ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ถ€๋ถ„์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ด๋ฆฌ์ €๋ฆฌ ๋ฐ”๊ฟ”๋ณผ ์ˆ˜ ์žˆ์ฃ . ์ฒญํฌ ์‚ฌ์ด์ฆˆ, ์ฒญํฌ ์˜ค๋ฒ„๋žฉ์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒญํฌ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ณ„์‚ฐํ•ด ๋ณด๊ฑฐ๋‚˜ ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ๋ฅผ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ์–ด์š”.

๋ณ€์ˆ˜๋ฅผ ๋ฐ”๊ฟ€ ๋•Œ๋งˆ๋‹ค ๋ชจ๋‘ ์ฝ”๋“œ์— ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜๋˜์–ด ๋‚˜ํƒ€๋‚  ๊ฒ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋ฅผ ์ž‘์—… ์˜์—ญ์— ๋ณต์‚ฌํ•ด์„œ ๋ถ™์—ฌ ๋„ฃ๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค.

์˜ˆ์‹œ๋กœ ๋žญ์ฒด์ธ ๋ธ”๋กœ๊ทธ์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒญํฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋ณผ๊ฒŒ์š”. ๋ชจ๋“  ์ฒญํฌ๋ฅผ ์‹œ๊ฐํ™”ํ•ด ๋ณด๋ฉด์„œ ๋ง์ด ๋˜๋Š”์ง€ ์•ˆ ๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ฃ .

์ด๋ ‡๊ฒŒ ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฒญํฌ ์ „๋žต์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ํ™•์ธํ•˜๋ฉด์„œ์š”. ์ฒญํฌ ์˜ค๋ฒ„๋žฉ์„ ํ™•์ธํ•˜๊ธฐ์—๋„ ์ข‹์€ ๋ฐฉ๋ฒ•์ด์—์š”. ๋‘ ๊ฐœ์˜ ์ฒญํฌ ์‚ฌ์ด์— ์˜ค๋ฒ„๋žฉ ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ ๋ฌด์—‡์ด ์˜ค๋ฒ„๋žฉ๋˜๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์ฃ . ์ €๋Š” ์ด ํˆด์ด ์•„์ฃผ ์œ ์šฉํ•˜๊ณ  ํ›Œ๋ฅญํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.


๋žญ์ฒด์ธ vs ๋ผ๋งˆ์ธ๋ฑ์Šค

๋งˆ์ง€๋ง‰์œผ๋กœ ๋žญ์ฒด์ธ๊ณผ ๋ผ๋งˆ ์ธ๋ฑ์Šค๋ฅผ ๋น„๊ตํ•ด ๋ฌด์—‡์ด ๋” ๋‚˜์„์ง€ ๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์šฐ์„  ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์‹ถ์„ ๋•Œ, ๋žญ์ฒด์ธ๊ณผ ๋ผ๋งˆ ์ธ๋ฑ์Šค ๋‘˜ ๋‹ค ์ข‹์€ ์„ ํƒ์ง€๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ๋‘ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ์™€ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์ฃ .

๋žญ์ฒด์ธ๊ณผ ๋ผ๋งˆ ์ธ๋ฑ์Šค, ๋ฌด์—‡์ด ๋‹ค๋ฅผ๊นŒ?

์ธ๊ธฐ๊ฐ€ ๋งŽ์€ ๊ฑด ๋žญ์ฒด์ธ์ž…๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋žญ์ฒด์ธ์„ ํƒํ•˜์ฃ . ๋ผ๋งˆ ์ธ๋ฑ์Šค๋„ ์“ฐ๊ธด ํ•˜์ง€๋งŒ ๋žญ์ฒด์ธ๋งŒํผ์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ•œํŽธ ๋ผ๋งˆ ์ธ๋ฑ์Šค๋Š” ๋ฐ์ดํ„ฐ์™€ ๊ฒ€์ƒ‰ ์ฆ๊ฐ•, ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ†ตํ•ฉ์— ๋” ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ง€ํ–ฅ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์ฃ .

๋‹ค๋งŒ ๋žญ์ฒด์ธ๋„ ์•ž์„œ ์–ธ๊ธ‰ํ•œ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ ๋žญ์ฒด์ธ์˜ ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ง€์›์ด ํ›จ์”ฌ ๊ฐœ์„ ๋˜๋ฉฐ, ํ‘œํ˜„ ์–ธ์–ด์˜ ์ถ”์ƒํ™”๋ฅผ ๋„์ž…ํ–ˆ๋Š”๋ฐ์š”. ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ ๋งŽ์€ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชฉ์ ์— ๋”ฐ๋ฅธ ์ ํ•ฉ์„ฑ

LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ณดํ†ต ๋‘ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

์šฐ์„  ๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ(RAG) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋ฐ์ดํ„ฐ์™€ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ„๊ณ , ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

ํ•œํŽธ ์—์ด์ „ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” LLM์˜ ์ถ”๋ก  ๋Šฅ๋ ฅ์„ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋„๊ตฌ๋ฅผ ์•Œ๋งž๊ฒŒ ์„ ํƒํ•˜๊ณ  ํ˜ธ์ถœํ•ด์„œ ๋น„๊ฒฐ์ •๋ก ์  ์ž‘์—…์„ ์‹คํ–‰ํ•˜์ฃ .

๋ผ๋งˆ ์ธ๋ฑ์Šค๋Š” ReAct ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ ํ•ฉํ•œ ๊ตฌํ˜„์„ ๋น„๋กฏํ•ด ์—์ด์ „ํŠธ ๊ฐœ๋ฐœ ์—ญ์‹œ ์ง€์›ํ•˜์ง€๋งŒ, ์—์ด์ „ํŠธ ์˜คํผ๋ง์€ ๋Œ€๋ถ€๋ถ„ ๊ฒ€์ƒ‰์„ ์ค‘์‹ฌ์œผ๋กœ ์ด๋ค„์ง‘๋‹ˆ๋‹ค.

๋žญ์ฒด์ธ์€ ์—์ด์ „ํŠธ์— ๋งž์ถฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋งŽ์ด ๋ฐ”๊ฟจ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋žญ์ฒด์ธ ํ‘œํ˜„ ์–ธ์–ด๋กœ ์•„์ฃผ ์œ ์—ฐํ•˜๊ฒŒ ์—์ด์ „ํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์šด์˜ํ• ์ง€, ์–ด๋–ค ๋„๊ตฌ๋ฅผ ์„ ํƒํ• ์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์ฃ . ํ•ด๋‹น ๋ถ„์•ผ ๊ด€๋ จ ์—ฐ๊ตฌ์™€ ํ™œ๋™์€ ๋žญ์ฒด์ธ์—์„œ ํ›จ์”ฌ ํ™œ๋ฐœํ•œ ํŽธ์ž…๋‹ˆ๋‹ค. ์ตœ์‹  LLM ์—์ด์ „ํŠธ ๊ฐœ๋ฐœ ๊ด€๋ จ ์—ฐ๊ตฌ๋ฅผ ๋” ์ž˜ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋Š” ๋“ฏํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, ๋‘ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋งค์šฐ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ €๋ผ๋ฉด LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์—๋Š” ๋žญ์ฒด์ธ์„ ์„ ํƒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‚ด๊ฐ€ ๋งŒ๋“ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฐ์ดํ„ฐ์— ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ์œผ๋ฉฐ, ๊ฒ€์ƒ‰ ์ฆ๊ฐ•๊ณผ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ ์†Œ์Šค ํ™œ์šฉ์ด ๋งŽ๋‹ค ํ•ด๋„์š”. ๋žญ์ฒด์ธ์ด ์ด๋Ÿฐ ์š”๊ตฌ ์‚ฌํ•ญ๋„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ๋‹น์—ฐํžˆ ๋” ์ข‹์„ ํ…Œ๊ณ ์š”. ์ƒ์„ฑํ˜• AI ์—์ด์ „ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋‹ˆ๊นŒ์š”.


๋งˆ์น˜๋ฉฐ

์ง€๊ธˆ๊นŒ์ง€ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์•Œ์•„ ๋‘๋ฉด ์ข‹์„ ๋ฒ•ํ•œ ์„ธ ๊ฐ€์ง€ ํˆด์„ ์†Œ๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ์‹œ์— ๋„์›€์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ, ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์™€ ํ•จ๊ป˜ ์ฃผ์š” ํ”„๋ ˆ์ž„์›Œํฌ์ธ ๋ผ๋งˆ ์ธ๋ฑ์Šค์™€ ๋žญ์ฒด์ธ์˜ ๋น„๊ต๊นŒ์ง€ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋žญ์ฒด์ธ์— ๊ด€ํ•œ ์ด๋ก  ์ค‘์‹ฌ ๊ฐ•์˜๋Š” ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ ์œ ํ–‰ํ•˜๋Š” LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ํ”„๋ ˆ์ž„์›Œํฌ, ๋žญ์ฒด์ธ์„ ์‹œ์ž‘ํ•  ๋•Œ ์ž‘๊ฒŒ๋‚˜๋งˆ ๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์›๋ณธ ๊ฐ•์˜ ๋ณด๋Ÿฌ ๊ฐ€๊ธฐ

ใ€ํ•œ๊ธ€์ž๋ง‰ใ€‘ ๋žญ์ฒด์ธ - LangChain ์œผ๋กœ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœํ•˜๊ธฐ
์‹ค์ œ ์ƒ์„ฑํ˜• ์ธ๊ณต์ง€๋Šฅ LLM ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•ด๋ณด๋ฉด์„œ LangChain์„ ๋ฐฐ์šฐ์„ธ์š”. (Python, ์ตœ์‹  ๋ฒ„์ „ 0.3.0)
LLM ์„œ๋น„์Šค ๊ฐœ๋ฐœํ•  ๋•Œ ์•Œ์•„๋‘๋ฉด ์ข‹์„ 3๊ฐ€์ง€ ํˆด

LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์œ ์šฉํ•œ ํˆด์„ ์†Œ๊ฐœํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์งˆ ์ข‹์€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ชจ์•„๋‘” ๋žญ์ฒด์ธ ํ—ˆ๋ธŒ(LangChain Hub), ํ…์ŠคํŠธ ๋ถ„ํ•  ์ž‘์—…์„ ๋„์™€์ค„ ํ…์ŠคํŠธ ์Šคํ”Œ๋ฆฌํ„ฐ ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ(Text Splitter Playground)๋Š” LLM ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ๋‹จ์ถ•ํ•ด ์ค„ ์•„์ฃผ ์œ ์šฉํ•œ ํˆด์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ๋Š” ๋žญ์ฒด์ธ๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์˜ ํ”„๋ ˆ์ž„์›Œํฌ, ๋ผ๋งˆ ์ธ๋ฑ์Šค๋„ ๊ฐ€๋ณ๊ฒŒ ์‚ดํŽด๋ณผ๊ฒŒ์š”. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.