Introduction to RAG

๐Ÿ“š ์„ ์ˆ˜ ์ง€์‹ ์•ˆ๋‚ด

๋ณธ ํŠœํ† ๋ฆฌ์–ผ์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์•„๋ž˜ ๊ฐœ๋…๋“ค์„ ๋จผ์ € ์•Œ๊ณ  ์˜ค์‹œ๋ฉด ์ดํ•ด๊ฐ€ ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค.

  • Introduction to LLM

    โ†’ LLM(Large Language Model)์ด ๋ฌด์—‡์ธ์ง€, ์–ด๋–ค ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ๋ฐฐ์›Œ๋ณด์„ธ์š”.

  • Capabilites of LLM

    โ†’ LLM์ด ๋ฌด์—‡์„ ์ž˜ํ•˜๊ณ  ๋ชปํ•˜๋Š” ์ง€ ๊ทธ๋ฆฌ๊ณ  ํ•œ๊ณ„ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • Introduction to Document Parse

    โ†’ RAG์—์„œ ํ•ต์‹ฌ์ธ "์™ธ๋ถ€ ๋ฌธ์„œ"๋ฅผ ์–ด๋–ป๊ฒŒ AI๊ฐ€ ์ฝ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š”์ง€, Document Parsing ๊ฐœ๋…์„ ๋ฏธ๋ฆฌ ์ตํ˜€๋‘์„ธ์š”.

์š”์ฆ˜ RAG๋ฅผ ์จ์•ผํ•œ๋‹ค, RAG ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•˜๋‹ค ๋“ฑ ์ž์ฃผ ์–ธ๊ธ‰๋˜๊ณ  ์žˆ๋Š”๋ฐ์š”, "๋„๋Œ€์ฒด RAG๊ฐ€ ๋ฌด์—‡์ธ์ง€", ํ•œ ๋ฒˆ์ฏค ๊ถ๊ธˆํ•˜์…จ๋˜ ์  ์žˆ์œผ์‹œ์ฃ ?

์ด๋ฒˆ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ๋ฐ”๋กœ ๊ทธ ๊ถ๊ธˆ์ฆ์„ ํ•จ๊ป˜ ํ’€์–ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์ด ์™ธ๋ถ€ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์ดํ•ดํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•œ์ง€๋ฅผ RAG(Retrieval-Augmented Generation)์ด๋ผ๋Š” ๊ฐœ๋…์„ ํ†ตํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. What is RAG?

RAG๋Š” Retrieval-Augmented Generation์˜ ์•ฝ์ž๋กœ, ๊ฒ€์ƒ‰(Retrieval)๊ณผ ์ƒ์„ฑ(Generation)์„ ๊ฒฐํ•ฉํ•œ AI ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

๊ธฐ์กด LLM(Large Language Model)์€ ํ›ˆ๋ จ ์‹œ์  ์ด์ „์˜ ์ •๋ณด๋งŒ์„ ๊ธฐ์–ตํ•˜์ง€๋งŒ, RAG๋Š” ์™ธ๋ถ€ ์ง€์‹ ์ €์žฅ์†Œ์—์„œ ๊ด€๋ จ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‘๋‹ต์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ๋ณด๋‹ค ์ •ํ™•ํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

RAG๋Š” ์™ธ๋ถ€ ์ง€์‹์„ LLM์—๊ฒŒ ์ œ๊ณตํ•˜๊ธฐ์— LLM์˜ ํ•œ๊ณ„์ธ Hallucination๊ณผ Knowledge Cutoff ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋ก  ์ค‘ ํ•˜๋‚˜๋กœ ๊ฐ๊ด‘๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

RAG๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค:

  • Retrieval (๊ฒ€์ƒ‰)

    ๋ฒกํ„ฐ, ํ‚ค์›Œ๋“œ, ๊ทธ๋ž˜ํ”„ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰

  • Augmented (์ฆ๊ฐ•)

    ๊ฒ€์ƒ‰๋œ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ LLM ์ž…๋ ฅ์— ๋ฌธ๋งฅ์„ ๋ณด์™„

  • Generation (์ƒ์„ฑ)

    LLM์ด ์ฆ๊ฐ•๋œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‘๋‹ต ์ƒ์„ฑ

    ์˜ˆ: ์งˆ์˜์‘๋‹ต(QA), ์š”์•ฝ(Summarization), ๋ถ„๋ฅ˜(Classification) ๋“ฑ

2. RAG์˜ ์ค‘์š”์„ฑ: Augmentation of Knowledge

RAG์˜ ํ•ต์‹ฌ ๊ฐ€์น˜๋Š” ์ง€์‹์˜ ์ฆ๊ฐ•(Augmentation of Knowledge)์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉํ–ฅ์—์„œ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๐Ÿ“Œ Expansion of Knowledge

  • LLM์ด ํ•™์Šตํ•œ ์‹œ์  ์ดํ›„์— ์ƒ์„ฑ๋œ ์ง€์‹์„ ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ™œ์šฉ

  • ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ์ตœ์‹  ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ™œ์šฉ

  • ์˜ˆ๋ฅผ ๋“ค์–ด:

    • 2023๋…„์— ํ•™์Šต๋œ LLM์€ 2025๋…„ ์ถœ์‹œ๋œ ๋…ธํŠธ๋ถ์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค.

      ํ•˜์ง€๋งŒ ์™ธ๋ถ€ ์›น์‚ฌ์ดํŠธ๋‚˜ ์ œํ’ˆ ์„ค๋ช…์„œ๋ฅผ RAG๋กœ ์—ฐ๊ฒฐํ•˜๋ฉด ์ตœ์‹  ๊ธฐ์ข…์˜ ์‚ฌ์–‘๊ณผ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋ถ€๋™์‚ฐ ์‹œ์„ธ๋‚˜ ํ™˜์œจ์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜์˜ํ•ด ์„ค๋ช…ํ•˜๊ณ ์ž ํ•  ๋•Œ๋„ RAG๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“Œ Concentration of Knowledge

  • LLM์ด ํ•™์Šตํ•œ ์ผ๋ฐ˜์ ์ธ ๋ฒ”์šฉ ์ง€์‹ ์™ธ์˜ ํŠน์ˆ˜ ์ง€์‹์„ ๋ฐ˜์˜ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ™œ์šฉ

  • ๋„๋ฉ”์ธ ํŠนํ™” ์ง€์‹(์˜ˆ: ๋ฒ•๋ฅ , ์˜๋ฃŒ, ์‚ฌ๋‚ด ๋ฌธ์„œ)์— ์ง‘์ค‘ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํ™œ์šฉ

  • ์˜ˆ๋ฅผ ๋“ค์–ด:

    • ํ•œ ๊ธฐ์—…์˜ ๋‚ด๋ถ€ ๋งค๋‰ด์–ผ์ด๋‚˜ ์ •์ฑ… ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง์› ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๋Š” ์ฑ—๋ด‡์„ ์ œ์ž‘ ์‹œ, RAG๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋ณ€ํ˜ธ์‚ฌ ์‚ฌ๋ฌด์†Œ์—์„œ ๊ตญ๋‚ด ๋ฒ•๋ฅ  ๋ฌธ์„œ๋‚˜ ํŒ๋ก€๋ฅผ ์ฐธ๊ณ ํ•œ ๋ฒ•๋ฅ  ์ƒ๋‹ด ์š”์•ฝ๋ณธ์„ ๋งŒ๋“ค ๋•Œ, RAG๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

RAG๋Š” ์ด๋Ÿฐ ๋‹ˆ์ฆˆ๋ฅผ ์ถฉ์กฑํ•˜๋ฉฐ, ์ง€์‹ ์ตœ์‹ ์„ฑ๊ณผ ์ •ํ™•์„ฑ์„ ๋ชจ๋‘ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

RAG๋ฅผ ํ•œ๋งˆ๋””๋กœ ์ •๋ฆฌํ•œ๋‹ค๋ฉด,

3. RAG ๊ตฌํ˜„ ๋‹จ๊ณ„

์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ RAG ๊ตฌํ˜„ ๋‹จ๊ณ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ—“๏ธ Planning (๊ธฐํš ๋‹จ๊ณ„)

์ผ๋‹จ ๋จผ์ € RAG ๊ตฌํ˜„ ๋‹จ๊ณ„๋ฅผ ๊ธฐํšํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฌธ์ œ ์ •์˜

    • RAG๋กœ ๋ฌด์—‡์„ ํ•ด๊ฒฐํ•  ๊ฒƒ์ธ์ง€ ๋ช…ํ™•ํžˆ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • โ€œ๊ทธ๋ƒฅ ์ฑ—๋ด‡ ๋งŒ๋“ค๊ธฐโ€๋ผ๊ณ ๋งŒ ํ•˜๋ฉด ์–ด๋– ํ•œ ๊ฐ€์น˜๋„ ์ œ๊ณตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  2. ๋ฐ์ดํ„ฐ ๊ธฐํš

    • ์–ด๋–ค ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ• ์ง€, ํ˜•์‹์€ ๋ฌด์—‡์ธ์ง€, ์ตœ์‹ ์„ฑ์€ ์–ด๋–ป๊ฒŒ ์œ ์ง€ํ• ์ง€ ๊ณ ๋ฏผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ณด์•ˆ/๊ถŒํ•œ ์„ค๊ณ„

    • ๋ฌธ์„œ ์ ‘๊ทผ ๊ถŒํ•œ์ด ์‚ฌ์šฉ์ž๋ณ„๋กœ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ์ ‘๊ทผ ์ œํ•œ๊ณผ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  4. ํ‰๊ฐ€ ๊ธฐํš

    • ๋‹ต๋ณ€์ด ์ •ํ™•ํ•œ์ง€ ์–ด๋–ป๊ฒŒ ํ‰๊ฐ€ํ• ์ง€ ๊ธฐ์ค€์„ ์ •ํ•ด๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ •๋‹ต์…‹ ๋งŒ๋“ค๊ธฐ, ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ๋“ฑ

  5. UI/UX ๊ธฐํš

    • ์–ด๋–ค UI๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์— ๊ฐ€์žฅ ์ ํ•ฉํ•  ์ง€ ๊ณ ๋ฏผํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    • ์ฑ—๋ด‡ UI๊ฐ€ ํ•ญ์ƒ ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

      • ์˜ˆ๋ฅผ ๋“ค์–ด, ์š”์•ฝ์ด๋ผ๋ฉด ์นด๋“œํ˜• UI๊ฐ€ ๋” ์ ์ ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ”„ Ingestion Pipeline (๋ฐ์ดํ„ฐ ์ค€๋น„ ๋‹จ๊ณ„)

๊ธฐํš์ด ์™„๋ฃŒ๋˜๋ฉด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์™ธ๋ถ€ ๋ฌธ์„œ๋ฅผ LLM์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. Data Loading

    • ๋จผ์ €, PDF, Word, ์›นํŽ˜์ด์ง€ ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฌธ์„œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

    • ๋ฐ์ดํ„ฐ ํ™•์žฅ์ž, ๋ฐ์ดํ„ฐ ํ˜•ํƒœ, ๋ฐ์ดํ„ฐ ์ข…๋ฅ˜์— ๋”ฐ๋ผ์„œ ์ ์ ˆํ•˜๊ฒŒ ๋กœ๋“œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    • Upstage Document Parse๋ฅผ ํ™œ์šฉํ•˜๋ฉด ํ…์ŠคํŠธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์„œ ๊ตฌ์กฐ๊นŒ์ง€ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. Chunking (์ฒญํ‚น)

    • ๋ฐ์ดํ„ฐ ์ฒญํ‚น์€ ๊ธด ๋ฌธ์„œ๋ฅผ ์ ์ ˆํ•œ ํฌ๊ธฐ์˜ ์กฐ๊ฐ(chunk)์œผ๋กœ ์ž˜๋ผ์„œ ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

    • ์ฒญํฌ์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์œผ๋ฉด ๋งฅ๋ฝ์„ ๋†“์น  ์ˆ˜ ์žˆ๊ณ , ๋„ˆ๋ฌด ๊ธธ๋ฉด LLM ํ˜ธ์ถœ ์‹œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๊ฑฐ๋‚˜ ํ˜ธ์ถœ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ์ ˆํ•œ ์‚ฌ์ด์ฆˆ๋กœ ๊ท ํ˜•์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

    • ๋˜ํ•œ, ์ฒญํ‚น์„ ์ž˜๋ชปํ•˜๊ฒŒ ๋˜๋ฉด ์ฒญํ‚น์œผ๋กœ ์ธํ•ด ์ •๋ณด์˜ ๋งฅ๋ฝ์ด ์†Œ์‹ค๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์„œ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ฒญํ‚น ๊ธฐ๋ฒ•์„ ๋„์ž…ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. Embedding

    • ์ž„๋ฒ ๋”ฉ์€ ํ…์ŠคํŠธ๋ฅผ ์ˆซ์ž ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด ์งˆ๋ฌธ โ†” ๋ฌธ์„œ ๊ฐ„ ์œ ์‚ฌ๋„ ๋น„๊ต ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

    • Upstage Solar Embedding ๋“ฑ ์ž„๋ฒ ๋”ฉ API๋ฅผ ํ™œ์šฉํ•˜์‹ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. Indexing

    • ์ž„๋ฒ ๋”ฉ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(VectorStore)์— ์ €์žฅํ•˜๊ณ , ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ๋ฑ์‹ฑ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด๋ฅผ ํ†ตํ•ด ๋‚˜์ค‘์— ์งˆ๋ฌธ์ด ๋“ค์–ด์˜ค๋ฉด ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฌ Querying Pipeline (์งˆ๋ฌธ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„)

์ด์ œ ์‚ฌ์šฉ์ž๊ฐ€ ์งˆ๋ฌธ์„ ํ•˜๋ฉด, ๊ทธ์— ๋Œ€ํ•ด ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

  1. Prompt Engineering

    • ๊ฒ€์ƒ‰๋œ ๋ฌธ์„œ Context๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ LLM์—๊ฒŒ ์–ด๋–ป๊ฒŒ ๋ฌผ์–ด๋ณผ์ง€ ์„ค๊ณ„ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

    • ์ ์ ˆํ•œ Instruction์„ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์œ ๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์˜ˆ: ์˜ˆ์‹œ ์ถ”๊ฐ€, ํŽ˜๋ฅด์†Œ๋‚˜ ์ œ๊ณต, ๊ตฌ๋ถ„์ž ์‚ฌ์šฉ ๋“ฑ

  2. Workflow Engineering

    • ์งˆ๋ฌธ์ด ๋“ค์–ด์˜ค๋ฉด โ†’ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ฐพ๊ณ  โ†’ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  โ†’ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ์ „ ๊ณผ์ •์„ ์ž๋™ํ™”ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

    • ์š”์ฆ˜์€ ๋‹จ์ˆœํ•œ ํ๋ฆ„์„ ๋„˜์–ด์„œ, ์—์ด์ „ํŠธ(Agent) ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋ฅผ ์„ค๊ณ„ํ•˜์—ฌ ๋” ์ ์ ˆํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ๋„ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

      ์˜ˆ: ์งˆ๋ฌธ์ด "์˜ค๋Š˜ ๋‚ ์”จ ์–ด๋•Œ?"๋ฉด ๋‚ ์”จ API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ, ๊ฒฐ๊ณผ ์š”์•ฝํ•ด์„œ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

      Agent์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์„ค๋ช…์€ โ€œUpstage Product Use Case : Paper Processing : AI Agentโ€ ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”!

  3. Demo

    • ์ง์ ‘ ์ œ์ž‘ํ•œ RAG ํŒŒ์ดํ”„๋ผ์ธ์„ ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

    • Gradio, Streamlit ๋“ฑ์œผ๋กœ ์‰ฝ๊ฒŒ ์ฑ—๋ด‡ UI๋กœ ๊ตฌํ˜„ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โœ… Evaluation (ํ‰๊ฐ€ ๋‹จ๊ณ„)

RAG๋Š” ๊ทœ์น™ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€๊ฐ€ ์–ด๋ ต๊ณ , ์‚ฌ๋žŒ๋“ค๋งˆ๋‹ค ๊ธฐ๋Œ€ํ•˜๋Š” ์ •๋‹ต์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. QA Set ๊ตฌ์ถ•

    • ์งˆ๋ฌธ - ์ •๋‹ต ์…‹์„ ๋งŒ๋“ค๊ณ , ํ‰๊ฐ€๊ธฐ์ค€์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      • ์งˆ๋ฌธ - ์ •๋‹ต ์…‹์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณผ์ •์—์„œ, ์ „๋ฌธ๊ฐ€ ํ˜น์€ ์‚ฌ์šฉ์ž ์ธํ„ฐ๋ทฐ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ๋˜ํ•œ, ๊ฒ€์ƒ‰ ๋ฌธ์„œ๊ฐ€ ์ ์ ˆํ•œ ์ง€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ •๋‹ต๊ณผ, ์ƒ์„ฑ๋œ ๋‹ต๋ณ€์ด ์ •ํ™•ํ•œ ์ง€ ์ƒ์„ฑ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ •๋‹ต์„ ๊ฐ๊ฐ ๋งŒ๋“ค๊ณ  ๋‚˜๋ˆ  ํ‰๊ฐ€ํ•˜๋ฉด, ๋ณ‘๋ชฉ ์ง€์ ์„ ํŒŒ์•…ํ•˜๊ธฐ์— ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

  2. LLM ๊ธฐ๋ฐ˜ ํ‰๊ฐ€

    • ์งˆ๋ฌธ - ์ •๋‹ต ์…‹์ด ๋งค์šฐ ๋งŽ๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ๋ฒˆ ํ‰๊ฐ€๋ฅผ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ, ์ƒ์„ฑ ๊ฒฐ๊ณผ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด LLM ๊ธฐ๋ฐ˜ ํ‰๊ฐ€๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • LLM์—๊ฒŒ ์งˆ๋ฌธ / ์ƒ์„ฑ๊ฒฐ๊ณผ / ์ •๋‹ต์„ ์ œ๊ณตํ•˜๊ณ , ์ •๋‹ต๊ณผ ์–ผ๋งˆ๋‚˜ ์ผ์น˜ํ•˜๋Š”์ง€ ํ‰๊ฐ€๋ฅผ ์š”๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ RAG ์ œ์ž‘ ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์ด์ œ ์‹ค์Šต์„ ํ†ตํ•ด์„œ ๋ณธ๊ฒฉ์ ์œผ๋กœ RAG ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌํ˜„ํ•˜๋Ÿฌ ๊ฐ€๋ณผ๊นŒ์š”?

Wrap Up

์ด๋ฒˆ ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” RAG(Retrieval-Augmented Generation)์˜ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค์ œ ๊ตฌํ˜„ ๋‹จ๊ณ„๊นŒ์ง€ ์ฐจ๊ทผ์ฐจ๊ทผ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๐Ÿ”น RAG๋ž€? : ๊ฒ€์ƒ‰(Retrieval)๊ณผ ์ƒ์„ฑ(Generation)์„ ๊ฒฐํ•ฉํ•˜์—ฌ, ์™ธ๋ถ€ ๋ฌธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ LLM์˜ ์‘๋‹ต์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.

๐Ÿ”น ์™œ RAG๊ฐ€ ํ•„์š”ํ•œ๊ฐ€? : LLM์€ ํ•™์Šต๋œ ์ง€์‹์— ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฉฐ ์ตœ์‹  ์ •๋ณด๋‚˜ ๋„๋ฉ”์ธ ์ง€์‹์— ์ทจ์•ฝํ•ฉ๋‹ˆ๋‹ค. RAG๋Š” ์ด๋Ÿฐ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜์—ฌ ์ •ํ™•ํ•˜๊ณ  ๋งฅ๋ฝ ์žˆ๋Š” ์‘๋‹ต์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”นRAG ๊ตฌํ˜„ ๋‹จ๊ณ„

1๏ธโƒฃ ๊ธฐํš (Planning) : ๋ฌธ์ œ ์ •์˜, ๋ฐ์ดํ„ฐ ์„ค๊ณ„, ํ‰๊ฐ€/UX ๊ธฐํš

2๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ค€๋น„ (Ingestion) : ๋ฌธ์„œ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ โ†’ ์ฒญํ‚น โ†’ ์ž„๋ฒ ๋”ฉ โ†’ ๋ฒกํ„ฐ DB ์ €์žฅ

3๏ธโƒฃ ์งˆ๋ฌธ ์ฒ˜๋ฆฌ (Querying) : ๊ด€๋ จ ๋ฌธ์„œ ๊ฒ€์ƒ‰ โ†’ ํ”„๋กฌํ”„ํŠธ ์ƒ์„ฑ โ†’ LLM ์‘๋‹ต

4๏ธโƒฃ ํ‰๊ฐ€ (Evaluation) : ์งˆ๋ฌธ-๋‹ต๋ณ€ ์…‹ ์ƒ์„ฑ ๋˜๋Š” LLM์„ ํ†ตํ•œ ์ž๋™ ํ‰๊ฐ€

์ด์ œ๋Š” ์‹ค์Šต์„ ํ†ตํ•ด ์ง์ ‘ RAG ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๋Ÿฌ ๊ฐ€๋ณผ๊นŒ์š”?


Suwan Kim | AI Edu | Upstage

Last updated