LLM Chain

LLM Chain ๋…ธ๋“œ๋Š” ์ง€์ •๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ LLM์ด ์‘๋‹ต์„ ์ƒ์„ฑํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ฒด์ธ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ์™€ ๋ชจ๋ธ๋งŒ ์„ค์ •ํ•˜๋ฉด ๋ชจ๋“  ์œ ํ˜•์˜ ๋‹จ์ผ ์งˆ๋ฌธ ์‘๋‹ต, ๋ฌธ์žฅ ์ƒ์„ฑ, ์š”์•ฝ, ๋ณ€ํ™˜ ๋“ฑ ์ž‘์—…์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์šฉ ํ…์ŠคํŠธ ์ƒ์„ฑ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค.


์ฃผ์š” ๊ธฐ๋Šฅ

  • ์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กฌํ”„ํŠธ ๊ธฐ๋ฐ˜ LLM ์‘๋‹ต ์ƒ์„ฑ

  • ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ํƒœ์Šคํฌ์— ์œ ์—ฐํ•˜๊ฒŒ ํ™œ์šฉ ๊ฐ€๋Šฅ

  • Output Parser๋ฅผ ํ†ตํ•ด ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

  • Prompt Chain์˜ ๊ตฌ์„ฑ ๋‹จ์œ„๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

WindyFlo LLM Chain

์ž…๋ ฅ๊ฐ’ (Inputs)

ํ•ญ๋ชฉ
์„ค๋ช…
ํ•„์ˆ˜ ์—ฌ๋ถ€

Language Model

๋ฌธ์žฅ ์ƒ์„ฑ์„ ์ˆ˜ํ–‰ํ•  LLM

ํ•„์ˆ˜

Prompt

์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น ๋˜๋Š” ํ”„๋กฌํ”„ํŠธ ํ…์ŠคํŠธ

ํ•„์ˆ˜

Output Parser

๊ฒฐ๊ณผ๋ฅผ ๊ตฌ์กฐํ™”๋œ ํฌ๋งท(JSON ๋“ฑ)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜ต์…˜

์„ ํƒ

Input Moderation

์œ ํ•ด/๋ถ€์ ์ ˆํ•œ ์ž…๋ ฅ ์ฐจ๋‹จ ๊ธฐ๋Šฅ

์„ ํƒ

Chain Name

์ฒด์ธ์— ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์˜ต์…˜

์„ ํƒ (์ฒด์ธ ๊ด€๋ฆฌ ๋ชฉ์ )


์ถœ๋ ฅ๊ฐ’ (Outputs)

์ถœ๋ ฅ ํ•ญ๋ชฉ
์„ค๋ช…

LLM Chain

๊ธฐ๋ณธ LLM ์‘๋‹ต ํ…์ŠคํŠธ (๊ธฐ๋ณธ ์ถœ๋ ฅ)

Output Prediction

Output Parser ์ ์šฉ ๊ฒฐ๊ณผ๋‚˜ ์˜ˆ์ธก๊ฐ’ ๋“ฑ ๊ตฌ์กฐํ™”๋œ ์ถœ๋ ฅ (์˜ต์…˜ ์„ ํƒ ์‹œ ์‚ฌ์šฉ)


ํ™œ์šฉ ์˜ˆ์‹œ

  1. ํ…์ŠคํŠธ ์ƒ์„ฑ

    • ํ”„๋กฌํ”„ํŠธ: โ€œ{name}์— ๋Œ€ํ•œ ์†Œ๊ฐœ ๊ธ€์„ ์ž‘์„ฑํ•ด์ค˜โ€

    • ์ž…๋ ฅ๊ฐ’: name = 'WindyFlo' โ†’ LLM์ด ํšŒ์‚ฌ ์†Œ๊ฐœ ๋ฌธ์žฅ ์ƒ์„ฑ

  2. ํ˜•์‹ ๋ณ€ํ™˜

    • ์ด๋ฉ”์ผ โ†’ ํšŒ์˜๋ก ์š”์•ฝ, ํ…์ŠคํŠธ โ†’ JSON ๋ณ€ํ™˜ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ณ€ํ™˜ ์ž‘์—…์— ํ™œ์šฉ

  3. ๊ฐ„๋‹จํ•œ ์ถ”๋ก  ์ž‘์—…

    • โ€œ๋‹ค์Œ ๋ฌธ์žฅ์ด ๊ธ์ •์ธ์ง€ ๋ถ€์ •์ธ์ง€ ํŒ๋‹จํ•ด์ค˜: {๋ฌธ์žฅ}โ€ โ†’ Output Parser๋กœ yes/no ์ถ”์ถœ ๊ฐ€๋Šฅ


์‚ฌ์šฉ ํŒ

  • Prompt๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ๊ฐ’๊ณผ ๋งคํ•‘๋  ์ˆ˜ ์žˆ๋„๋ก {} ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ๋™์ ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Output Parser๋Š” JSONSchema ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๊ฑฐ๋‚˜, ์ปค์Šคํ…€ ํŒŒ์„œ ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋” ์ •๊ตํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Prompt ์„ค๊ณ„ ์‹œ System ์—ญํ•  ํฌํ•จ ๊ฐ€๋Šฅ (์˜ˆ: โ€œYou are a helpful assistant.โ€)


์ฃผ์˜์‚ฌํ•ญ

  • Prompt ๋‚ด {input} ๊ฐ™์€ ๋ณ€์ˆ˜๋ช…์€ ์‹ค์ œ ์—ฐ๊ฒฐ๋˜๋Š” ๊ฐ’๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Output Parser๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด LLM์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” ์ˆœ์ˆ˜ ํ…์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

  • ์ถœ๋ ฅ ์˜ต์…˜์—์„œ Output Prediction์„ ์„ ํƒํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์ธก๊ฐ’์€ ์ถœ๋ ฅ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํŒŒ์„œ ๋กœ์ง๋„ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.


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

Last updated