Home / RAG ํ•ต์‹ฌ ๊ฐœ๋… / ๐ŸŽฏ RAG ํŒŒ์ดํ”„๋ผ์ธ
Module

๐ŸŽฏ RAG ํŒŒ์ดํ”„๋ผ์ธ

๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ โ€” ์™œ RAG์ธ๊ฐ€, ์ธ๋ฑ์‹ฑยท๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

โฑ 50๋ถ„ 37 / 189

RAG ํŒŒ์ดํ”„๋ผ์ธ

RAG ํ•„์š”์„ฑ ยท ์ „์ฒด ํ๋ฆ„ ยท ์ธ๋ฑ์‹ฑ ยท ๊ฒ€์ƒ‰

๊ฒ€์ƒ‰์ด ์ƒ์„ฑ์„ ์™„์„ฑํ•œ๋‹ค

Retrieval-Augmented Generation โ€” LLM์˜ ํ•œ๊ณ„๋ฅผ ์™ธ๋ถ€ ์ง€์‹์œผ๋กœ ๋ณด์™„

RAG ํ•„์š”์„ฑ

ํ™˜๊ฐ ยท ์ง€์‹ ๋‹จ์ ˆ ยท ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ยท ์ถœ์ฒ˜

PART 1 ยท RAG ํ•„์š”์„ฑ

LLM์˜ 4๋Œ€ ํ•œ๊ณ„

๋ชจ๋ธ ์ž์ฒด๋กœ๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ตฌ์กฐ์  ๋ฌธ์ œ โ€” ์™ธ๋ถ€ ์ง€์‹ ์ฃผ์ž…์ด ๋งŒ๋“œ๋Š” ์ฐจ์ด

LLM ๋‹จ๋… RAG ์ ์šฉ
ํ™˜๊ฐ ๊ทธ๋Ÿด๋“ฏํ•˜์ง€๋งŒ ํ‹€๋ฆฐ ๋‹ต ๊ฒ€์ƒ‰๋œ ์‚ฌ์‹ค ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€
์ง€์‹ ๋‹จ์ ˆ ํ•™์Šต ์ดํ›„ ์ •๋ณด ๋ถ€์žฌ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ
๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ํšŒ์‚ฌ ๋ฌธ์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€ ํ”„๋ผ์ด๋น— Knowledge Base ์—ฐ๊ฒฐ
์ถœ์ฒ˜ ์–ด๋””์„œ ์™”๋Š”์ง€ ๋ชจ๋ฆ„ Citation ์ž๋™ ์ƒ์„ฑ
takeaway

ํ• ๋ฃจ์‹œ๋„ค์ด์…˜์€ ์—†์•จ ์ˆ˜ ์—†๊ณ  ์ค„์ผ ์ˆ˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.
์ž˜๋ชป๋œ ๊ฐ€๊ฒฉ ์•ˆ๋‚ดยท๊ทผ๊ฑฐ ์—†๋Š” ์ •์ฑ… ๋‹ต๋ณ€์€ ๊ณง ๋น„์ฆˆ๋‹ˆ์Šค ๋ฆฌ์Šคํฌ โ€” ์™ธ๋ถ€ ์ง€์‹ ์ฃผ์ž…์— CitationยทGuardrails๋ฅผ ๋ณ‘ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

PART 1 ยท RAG ํ•„์š”์„ฑ

RAG vs Fine-tuning

์™ธ๋ถ€ ์ง€์‹ ์ฃผ์ž… vs ๋ชจ๋ธ ๋‚ด๋ถ€ ํ•™์Šต โ€” ๋Œ€์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๋ณด์™„ ๊ด€๊ณ„

RAG

์™ธ๋ถ€ ์ง€์‹ ์ฃผ์ž…

  • ๋ฐ์ดํ„ฐ ๊ฐฑ์‹  ์ฆ‰์‹œ ๋ฐ˜์˜ โ€” ๋ฌธ์„œ๋งŒ ๊ต์ฒด
  • ๋ชจ๋ธ ์žฌํ•™์Šต ๋ถˆํ•„์š”
  • ์ถœ์ฒ˜(Citation) ์ถ”์  ๊ฐ€๋Šฅ
  • ๋น„์šฉ ๋‚ฎ์Œ

"๋‹ต๋ณ€์— ์ถœ์ฒ˜๊ฐ€ ํ•„์š”ํ•œ๊ฐ€", "๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ฐ”๋€Œ๋Š”๊ฐ€" โ€” ํ•˜๋‚˜๋ผ๋„ YES๋ฉด RAG์ž…๋‹ˆ๋‹ค.

Fine-tuning

๋ชจ๋ธ ๊ฐ€์ค‘์น˜ ๋ณ€๊ฒฝ

  • ์Šคํƒ€์ผยทํ†ค ๋ณ€๊ฒฝ์— ์ ํ•ฉ
  • ํ•™์Šต ๋ฐ์ดํ„ฐ ํ•„์š” (์ˆ˜์ฒœ~์ˆ˜๋งŒ ๊ฑด)
  • ๊ฐฑ์‹ ๋งˆ๋‹ค ์žฌํ•™์Šต ๋น„์šฉ
  • ๋„๋ฉ”์ธ ์šฉ์–ด ์ดํ•ด์— ๊ฐ•์ 

๋ชจ๋ธ์ด ๋„๋ฉ”์ธ ์šฉ์–ด ์ž์ฒด๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•  ๋•Œ โ€” RAG์™€ ๋ณ‘์šฉ(CPT+RAG)๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

takeaway

์‹ค๋ฌด์˜ ์ˆœ์„œ๋Š” ์ •ํ•ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค โ€” RAG๋ฅผ ๋จผ์ € ๊ตฌ์ถ•ํ•˜๊ณ , ์ •ํ™•๋„๊ฐ€ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„๋งŒ Fine-tuning์œผ๋กœ ๋ณด์™„ํ•ฉ๋‹ˆ๋‹ค.

RAG ์ „์ฒด ํ๋ฆ„

R ยท A ยท G 3์š”์†Œ ยท ์˜คํ”„๋ผ์ธ๊ณผ ์˜จ๋ผ์ธ

PART 2 ยท RAG ์ „์ฒด ํ๋ฆ„

RAG ํŒŒ์ดํ”„๋ผ์ธ ๊ฐœ์š”

์งˆ๋ฌธ ํ•˜๋‚˜๊ฐ€ ์—ฌ์„ฏ ๋‹จ๊ณ„๋ฅผ ์ง€๋‚˜ ๊ทผ๊ฑฐ ์žˆ๋Š” ๋‹ต์ด ๋˜๋Š” ๊ณผ์ • โ€” ๋ชจ๋“ˆ ๋๊นŒ์ง€ ์ด์–ด์ง€๋Š” ๋Ÿฌ๋‹ ์˜ˆ์ œ





"์˜ˆ์•ฝ๊ธˆ ํ™˜๋ถˆ ๊ทœ์ •์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?"
์งˆ๋ฌธ โ€” ๋‹ต์€ ์‚ฌ๋‚ด ๋ฌธ์„œ์—๋งŒ ์žˆ์Œ

โ†’

RAG ํŒŒ์ดํ”„๋ผ์ธ โ€” ์—ฌ์„ฏ ๋‹จ๊ณ„

์˜คํ”„๋ผ์ธ โ€” ๋ฌธ์„œ ์—…๋กœ๋“œ ์‹œ ๋ฏธ๋ฆฌ (๋ฐฐ์น˜ยท์ฃผ๊ธฐ์ )
โ‘  ์ธ์ œ์ŠคํŠธโ†’โ‘ก ์ฒญํ‚นโ†’โ‘ข ์ž„๋ฒ ๋”ฉยท์ €์žฅ


์˜จ๋ผ์ธ โ€” ์งˆ๋ฌธ๋งˆ๋‹ค ์‹ค์‹œ๊ฐ„
โ‘ฃ ๊ฒ€์ƒ‰โ†’โ‘ค ์ฆ๊ฐ•โ†’โ‘ฅ ์ƒ์„ฑ

๋‘ ๊ตฌ๊ฐ„์˜ ๊ฒฝ๊ณ„๊ฐ€ ๋ฒกํ„ฐ DB โ€” โ‘ข์ด ์“ฐ๊ณ  โ‘ฃ๊ฐ€ ์ฝ์Šต๋‹ˆ๋‹ค

โ†’

"์˜ˆ์•ฝ๊ธˆ์€ ์ด์šฉ์ผ 3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œํ•˜๋ฉด ์ „์•ก ํ™˜๋ถˆ๋ฉ๋‹ˆ๋‹ค [๋ฌธ์„œ 1]"
๋‹ต๋ณ€ โ€” ์ถœ์ฒ˜๊ฐ€ ์ฒจ๋ถ€๋œ ์‘๋‹ต



takeaway

์ด ์งˆ๋ฌธ ํ•˜๋‚˜๊ฐ€ ์ธ์ œ์ŠคํŠธ โ†’ ์ฒญํ‚น โ†’ ์ž„๋ฒ ๋”ฉ โ†’ ๊ฒ€์ƒ‰ โ†’ ์ฆ๊ฐ• โ†’ ์ƒ์„ฑ ์—ฌ์„ฏ ๋‹จ๊ณ„๋ฅผ ๊ด€ํ†ตํ•ฉ๋‹ˆ๋‹ค โ€” ์–ด๋А ํ•œ ๋‹จ๊ณ„๊ฐ€ ๋ถ€์‹คํ•˜๋ฉด ๋‹ต๋„ ๋ถ€์‹คํ•ด์ง‘๋‹ˆ๋‹ค.

PART 2 ยท RAG ์ „์ฒด ํ๋ฆ„

R ยท A ยท G 3๋‹จ๊ณ„

Retrieval โ†’ Augmentation โ†’ Generation

takeaway

๋ชจ๋ธ์€ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ํ”„๋กฌํ”„ํŠธ์— ๊ทผ๊ฑฐ๋ฅผ ์ฃผ์ž…ํ•ฉ๋‹ˆ๋‹ค โ€” ๋‹ต๋ณ€์— ์ถœ์ฒ˜๊ฐ€ ์ฒจ๋ถ€๋˜์–ด ์‹ ๋ขฐ๋ฅผ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค.

PART 2 ยท RAG ์ „์ฒด ํ๋ฆ„

์˜คํ”„๋ผ์ธ ์ธ๋ฑ์‹ฑ vs ์˜จ๋ผ์ธ ๊ฒ€์ƒ‰

์‚ฌ์ „ ์ค€๋น„(์ธ๋ฑ์‹ฑ)์™€ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ(๊ฒ€์ƒ‰+์ƒ์„ฑ)์˜ ๋ถ„๋ฆฌ

์˜คํ”„๋ผ์ธ (์ธ๋ฑ์‹ฑ)

์‚ฌ์ „ ์ค€๋น„ โ€” ๋ฐฐ์น˜ยท์ฃผ๊ธฐ์ 

  • ๋ฌธ์„œ ํŒŒ์‹ฑ โ†’ ํ…์ŠคํŠธ ์ถ”์ถœ
  • ์ฒญํ‚น โ†’ ์˜๋ฏธ ๋‹จ์œ„ ๋ถ„ํ• 
  • ์ž„๋ฒ ๋”ฉ โ†’ ๋ฒกํ„ฐ ๋ณ€ํ™˜
  • ๋ฒกํ„ฐ ์Šคํ† ์–ด ์ €์žฅ

์ƒˆ ๋ฌธ์„œ ์—…๋กœ๋“œ ๋˜๋Š” ์ฃผ๊ธฐ์  ์Šค์ผ€์ค„๋กœ ์‹คํ–‰ โ€” ์ด ๊ตฌ๊ฐ„์˜ ํ’ˆ์งˆ์ด ๊ฒ€์ƒ‰ ์ •ํ™•๋„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ (๊ฒ€์ƒ‰+์ƒ์„ฑ)

์‹ค์‹œ๊ฐ„ โ€” ๋งค ์š”์ฒญ

  • ์ฟผ๋ฆฌ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ
  • ๋ฒกํ„ฐ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰
  • ์ƒ์œ„ K๊ฐœ ๋ฌธ์„œ ์„ ํƒ
  • ํ”„๋กฌํ”„ํŠธ ์ฆ๊ฐ• โ†’ LLM ์ƒ์„ฑ

์‚ฌ์šฉ์ž ์งˆ๋ฌธ๋งˆ๋‹ค ์‹ค์‹œ๊ฐ„ ์ˆ˜ํ–‰ โ€” ์ˆ˜๋ฐฑ ms์—์„œ ์ˆ˜ ์ดˆ, ์ง€์—ฐ ์‹œ๊ฐ„์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค.

takeaway

๋‘ ๊ตฌ๊ฐ„์˜ ๊ฒฝ๊ณ„๋Š” ๋ฒกํ„ฐ DB โ€” ๊ทธ๋ฆฌ๊ณ  ์–‘์ชฝ ๋ชจ๋‘ ๋™์ผํ•œ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

PART 2 ยท RAG ์ „์ฒด ํ๋ฆ„

๋ฏธ๋ฆฌ ์•Œ์•„๋‘˜ RAG์˜ ํ•œ๊ณ„

RAG๋Š” ๋งŒ๋Šฅ์ด ์•„๋‹˜ โ€” ํ•œ๊ณ„๋ฅผ ์•Œ์•„์•ผ ๋ณด์ด๋Š” ๋‹ค์Œ ๊ธฐ๋ฒ•

๊ฒ€์ƒ‰ ์˜์กด

๊ฒ€์ƒ‰ ์‹คํŒจ = ๋‹ต๋ณ€ ์‹คํŒจ

์ธ๋ฑ์‹ฑ ์ง€์—ฐ

์‹ค์‹œ๊ฐ„ ๋ฐ˜์˜์— ๋ถ„~์‹œ๊ฐ„ ์†Œ์š”

๋ฉ€ํ‹ฐํ™‰ ์ถ”๋ก 

Aโ†’Bโ†’C ๊ด€๊ณ„ ์ถ”์ ์— ์•ฝํ•จ

์ปจํ…์ŠคํŠธ ๊ธธ์ด

๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ๋งŽ์œผ๋ฉด ์ž˜๋ฆผ

takeaway

RAG ํ’ˆ์งˆ์€ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ์ด ์ขŒ์šฐํ•ฉ๋‹ˆ๋‹ค โ€” ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง๋ณด๋‹ค ์ธ๋ฑ์‹ฑยท๊ฒ€์ƒ‰ ๊ฐœ์„ ์ด ์šฐ์„ ์ด๋ฉฐ, ์ด์–ด์ง€๋Š” ๋‘ ํŒŒํŠธ๊ฐ€ ๋ฐ”๋กœ ๊ทธ ์ด์•ผ๊ธฐ์ž…๋‹ˆ๋‹ค.

์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

ํŒŒ์‹ฑ ยท ์ฒญํ‚น ยท ์ž„๋ฒ ๋”ฉ ยท ๋ฒกํ„ฐ ์Šคํ† ์–ด

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋ฐ”๊พธ๋Š” ์˜คํ”„๋ผ์ธ ๊ตฌ๊ฐ„ โ€” ํ•œ ๋ฒˆ ๊ตฌ์ถ•ํ•˜๋ฉด ๊ฒ€์ƒ‰ ์‹œ์ ์—๋Š” ๋ฐ˜๋ณต ์—†์Œ

์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

๋ฌธ์„œ๊ฐ€ ๋ฒกํ„ฐ ์ธ๋ฑ์Šค๊ฐ€ ๋˜๊ธฐ๊นŒ์ง€ โ€” ๊ฐ ๋‹จ๊ณ„์˜ ํ’ˆ์งˆ์ด ์ตœ์ข… ๊ฒ€์ƒ‰ ์ •ํ™•๋„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค

  • ํŒŒ์‹ฑ โ€” ํ…์ŠคํŠธยท๊ตฌ์กฐ ์ถ”์ถœ
  • ์ฒญํ‚น โ€” ์˜๋ฏธ ๋‹จ์œ„ ๋ถ„ํ• 
  • ์ž„๋ฒ ๋”ฉ โ€” ๋ฒกํ„ฐ ๋ณ€ํ™˜
  • ์ €์žฅ โ€” ๋ฒกํ„ฐ ์ธ๋ฑ์Šค ๊ธฐ๋ก
takeaway

์ˆœ์„œ๊ฐ€ ๊ณง ์˜์กด์„ฑ์ž…๋‹ˆ๋‹ค โ€” ์•ž ๋‹จ๊ณ„์—์„œ ๋†“์นœ ์ •๋ณด๋Š” ๋’ค ๋‹จ๊ณ„์—์„œ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ธ๋ฑ์‹ฑ์ด๋ž€?

์งˆ๋ฌธ์ด ์˜ค๊ธฐ ์ „์—, ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋ฏธ๋ฆฌ ๋ฐ”๊ฟ” ๋‘๋Š” ์˜คํ”„๋ผ์ธ ์ค€๋น„ ์ž‘์—…

๋ฌด์—‡์„ ์›๋ณธ ๋ฌธ์„œ ๊ทธ๋Œ€๋กœ (PDFยทHTML) ์ฒญํฌ + ๋ฒกํ„ฐ + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ
์–ธ์ œ ์งˆ๋ฌธ์ด ์˜ฌ ๋•Œ๋งˆ๋‹ค ์‹ค์‹œ๊ฐ„ ๋ฌธ์„œ๊ฐ€ ๋“ค์–ด์˜ฌ ๋•Œ ํ•œ ๋ฒˆ (๋ณ€๊ฒฝ ์‹œ ๊ฐฑ์‹ )
๊ทธ๋ž˜์„œ ๋งค ์งˆ๋ฌธ๋งˆ๋‹ค ๋ฌธ์„œ ์ „์ฒด ์ฝ๊ธฐ ์ค€๋น„๋œ ์ธ๋ฑ์Šค์—์„œ ๊ฐ€๊นŒ์šด ๋ฒกํ„ฐ ์ฐพ๊ธฐ
takeaway

๋„์„œ๊ด€์˜ ์ƒ‰์ธ ์นด๋“œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค โ€” ์ฑ…์ด ๋“ค์–ด์˜ฌ ๋•Œ ํ•œ ๋ฒˆ ์ •๋ฆฌํ•ด ๋‘๋ฉด, ์ฐพ์„ ๋•Œ๋Š” ์„œ๊ฐ€๋ฅผ ๋’ค์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ธ๋ฑ์‹ฑ 4๋‹จ๊ณ„

๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •

  1. 1
    ํŒŒ์‹ฑ

    PDF, HTML, DOCX์—์„œ ํ…์ŠคํŠธ์™€ ๊ตฌ์กฐ(์ œ๋ชฉยทํ‘œ) ์ถ”์ถœ
    ๊ธฐ๋ณธ ยท ํŒŒ์šด๋ฐ์ด์…˜ ๋ชจ๋ธ ํŒŒ์„œ ยท Data Automation 3์ „๋žต

  2. 2
    ์ฒญํ‚น

    ๊ธด ํ…์ŠคํŠธ๋ฅผ ์˜๋ฏธ ๋‹จ์œ„๋กœ ๋ถ„ํ• 
    ํ•œ๊ตญ์–ด 300~800์ž + 50~100์ž ์˜ค๋ฒ„๋žฉ ๊ถŒ์žฅ

  3. 3
    ์ž„๋ฒ ๋”ฉ

    ํ…์ŠคํŠธ๋ฅผ ๊ณ ์ฐจ์› ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜
    Titan Embed v2 โ€” 1,024์ฐจ์›, ์ตœ๋Œ€ ์ž…๋ ฅ 8,192ํ† ํฐ

  4. 4
    ์ €์žฅ

    ๋ฒกํ„ฐ + ์›๋ฌธ ์ฒญํฌ + ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ธ๋ฑ์Šค์— ๊ธฐ๋ก
    OpenSearch, S3 Vectors, FAISS

takeaway

๊ฒ€์ƒ‰ ํ’ˆ์งˆ์˜ ์ƒํ•œ์€ ์ฟผ๋ฆฌ ์‹œ์ ์ด ์•„๋‹ˆ๋ผ ๋ฌธ์„œ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ์‹œ์ ์— ์ด๋ฏธ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค โ€” ์ธ๋ฑ์‹ฑ์ด ๋ถ€์‹คํ•˜๋ฉด ๋’ค์˜ ์–ด๋–ค ๊ธฐ๋ฒ•๋„ ๋ณต๊ตฌํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ฒญํ‚น์˜ ์‹ค์ œ โ€” restaurant-policy.pdf

๋ฌธ์„œ๋ฅผ ํ†ต์งธ๋กœ ์ž„๋ฒ ๋”ฉํ•˜๋ฉด ์œ ์‚ฌ๋„๊ฐ€ ํ๋ ค์ง‘๋‹ˆ๋‹ค โ€” ์˜๋ฏธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆˆ ์ฒญํฌ๊ฐ€ ๊ฒ€์ƒ‰ยท์ฃผ์ž…ยท์ธ์šฉ์˜ ๋‹จ์œ„




ํŒŒ์‹ฑ๋œ ์›๋ฌธ โ€” restaurant-policy.pdf

โ€ฆ์˜ˆ์•ฝ ๋ณ€๊ฒฝ๊ณผ ์ทจ์†Œ๋Š” ์ „ํ™” ๋˜๋Š” ์˜จ๋ผ์ธ์œผ๋กœ ์ ‘์ˆ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์•ฝ๊ธˆ์€ ์ด์šฉ์ผ 3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œํ•˜๋ฉด ์ „์•ก ํ™˜๋ถˆ๋ฉ๋‹ˆ๋‹ค. ์ด์šฉ์ผ 1~2์ผ ์ „ ์ทจ์†Œ๋Š” ์˜ˆ์•ฝ๊ธˆ์˜ 50%๊ฐ€ ๊ณต์ œ๋˜๋ฉฐ, ๋‹น์ผ ์ทจ์†Œ์™€ ๋…ธ์‡ผ(No-show)๋Š” ํ™˜๋ถˆ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹คโ€ฆ


์•„์ง ํ•œ ๋ฉ์–ด๋ฆฌ โ€” ํ†ต์งธ๋กœ ์ž„๋ฒ ๋”ฉํ•˜๋ฉด ์งˆ๋ฌธ๊ณผ์˜ ์œ ์‚ฌ๋„๊ฐ€ ํ๋ ค์ง

โ†’



์ฒญํฌ #11 ยท 388์ž (์˜ˆ์‹œ ์ˆ˜์น˜)
"โ€ฆ์˜ˆ์•ฝ๊ธˆ ๊ทœ์ •. ์˜ˆ์•ฝ ๋ณ€๊ฒฝ๊ณผ ์ทจ์†Œ๋Š” ์ „ํ™” ๋˜๋Š” ์˜จ๋ผ์ธ์œผ๋กœ ์ ‘์ˆ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

โ†•์˜ค๋ฒ„๋žฉ 50~100์ž โ€” ๊ฒฝ๊ณ„ ๋ฌธ์žฅ์ด ์–‘์ชฝ ์ฒญํฌ์— ๋‚จ์Œ


์ฒญํฌ #12 ยท 412์ž (์˜ˆ์‹œ ์ˆ˜์น˜) โ€” ์งˆ๋ฌธ๊ณผ ๋งŒ๋‚  ์ฒญํฌ
"โ€ฆ์˜จ๋ผ์ธ์œผ๋กœ ์ ‘์ˆ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์•ฝ๊ธˆ์€ ์ด์šฉ์ผ 3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œํ•˜๋ฉด ์ „์•ก ํ™˜๋ถˆ๋ฉ๋‹ˆ๋‹ค. ์ด์šฉ์ผ 1~2์ผ ์ „ ์ทจ์†Œ๋Š” ์˜ˆ์•ฝ๊ธˆ์˜ 50%๊ฐ€โ€ฆ"


์ฒญํฌ #13 ยท 365์ž (์˜ˆ์‹œ ์ˆ˜์น˜)
"โ€ฆ๋‹น์ผ ์ทจ์†Œ์™€ ๋…ธ์‡ผ(No-show)๋Š” ํ™˜๋ถˆ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹จ์ฒด ์˜ˆ์•ฝ์€ ๋ณ„๋„ ๊ทœ์ •์ด ์ ์šฉ๋˜๋ฉฐโ€ฆ"



takeaway

๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋กœ ๋Œ์•„์˜ค๋Š” ๊ฒƒ์€ ๋ฌธ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ฒญํฌ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค โ€” ์งˆ๋ฌธ๊ณผ ๋งŒ๋‚˜๋Š” ๋‹จ์œ„๋„, ํ”„๋กฌํ”„ํŠธ์— ๋“ค์–ด๊ฐ€๋Š” ๋‹จ์œ„๋„ ์ฒญํฌ์ž…๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ฒญํ‚น ์ „๋žต 6๊ฐ€์ง€

๋‹จ์ˆœํ•œ ๋ถ„ํ• ์—์„œ ์ •๊ตํ•œ ๋ถ„ํ• ๋กœ โ€” ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ„๋А๋ƒ๊ฐ€ ๊ฒ€์ƒ‰ ์ •ํ™•๋„๋ฅผ ๊ฒฐ์ •

takeaway

์ฒญํ‚น ์ „๋žต์ด ๊ฒ€์ƒ‰ ํ’ˆ์งˆ์„ ์ขŒ์šฐํ•ฉ๋‹ˆ๋‹ค โ€” ์žฌ๊ท€ ๋ถ„ํ• ๋กœ ์‹œ์ž‘ํ•˜๋˜, ์ฒญํฌ๊ฐ€ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ์ž…๋ ฅ ํ•œ๋„(8,192ํ† ํฐ)๋ฅผ ๋„˜์ง€ ์•Š๊ฒŒ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

์ž„๋ฒ ๋”ฉ โ€” ์˜๋ฏธ๋ฅผ ์ขŒํ‘œ๋กœ

์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์€ ํ…์ŠคํŠธ๋ฅผ 1,024์ฐจ์› ๊ณต๊ฐ„์˜ ์ขŒํ‘œ์— ๋†“์Šต๋‹ˆ๋‹ค โ€” ์˜๋ฏธ๊ฐ€ ๋น„์Šทํ•˜๋ฉด ์ขŒํ‘œ๊ฐ€ ๊ฐ€๊น๋‹ค




"์˜ˆ์•ฝ๊ธˆ์€ ์ด์šฉ์ผ 3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œํ•˜๋ฉด ์ „์•ก ํ™˜๋ถˆโ€ฆ" ์ฒญํฌ #12
โ†“
์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ โ€” Titan Embed v2
โ†“
[ 0.11, โˆ’0.58, 0.27, โ€ฆ ]
1,024์ฐจ์› ์ขŒํ‘œ โ€” ์ด ๋ฒกํ„ฐ๊ฐ€ ์ธ๋ฑ์Šค์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค

โ†’


์˜๋ฏธ ๊ณต๊ฐ„ (1,024์ฐจ์›์„ 2์ฐจ์›์œผ๋กœ ๋ˆŒ๋Ÿฌ ๊ทธ๋ฆฐ ๊ฐœ๋…๋„)




์˜๋ฏธ๊ฐ€ ๊ฐ€๊น๋‹ค = ์ขŒํ‘œ๊ฐ€ ๊ฐ€๊น๋‹ค
"์˜ˆ์•ฝ๊ธˆ ํ™˜๋ถˆ ๊ทœ์ •์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?" โ€” ์งˆ๋ฌธ

"3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œ ์‹œ ์ „์•ก ํ™˜๋ถˆโ€ฆ" โ€” ์ฒญํฌ #12

"๋‹น์ผ ์ทจ์†Œยท๋…ธ์‡ผ๋Š” ํ™˜๋ถˆ ๋ถˆ๊ฐ€โ€ฆ" โ€” ์ฒญํฌ #13

"์˜ค๋Š˜์˜ ์…ฐํ”„ ์ถ”์ฒœ ์ฝ”์Šค๋Š”โ€ฆ" โ€” ๋ฉ”๋‰ด ์•ˆ๋‚ด ์ฒญํฌ

"๋ฐœ๋ ˆํŒŒํ‚น์€ 3์‹œ๊ฐ„ ๋ฌด๋ฃŒโ€ฆ" โ€” ์ฃผ์ฐจ ์•ˆ๋‚ด ์ฒญํฌ


๊ฒ€์ƒ‰์€ ์งˆ๋ฌธ ์ขŒํ‘œ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์  ์ฐพ๊ธฐ โ€” ๊ฐ™์€ ๋‹จ์–ด๊ฐ€ ์—†์–ด๋„ ์˜๋ฏธ๊ฐ€ ๊ฐ™์œผ๋ฉด ๊ฐ€๊น์Šต๋‹ˆ๋‹ค


takeaway

์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์€ ์ธ๋ฑ์‹ฑ๊ณผ ๊ฒ€์ƒ‰์ด ๋ฐ˜๋“œ์‹œ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค โ€” ๋ชจ๋ธ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์ขŒํ‘œ๊ณ„๋ฅผ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด๋ผ, ๊ณง ์ „์ฒด ์žฌ์ธ๋ฑ์‹ฑ์ž…๋‹ˆ๋‹ค.

PART 3 ยท ์ธ๋ฑ์‹ฑ ํŒŒ์ดํ”„๋ผ์ธ

๋ฒกํ„ฐ ์Šคํ† ์–ด ๋น„๊ต

์›Œํฌ๋กœ๋“œ์— ๋”ฐ๋ฅธ ์ตœ์  ๋ฒกํ„ฐ ์Šคํ† ์–ด ์„ ํƒ

๋ฒกํ„ฐ ์Šคํ† ์–ด๊ด€๋ฆฌ๊ทœ๋ชจํŠน์ง•
OpenSearch Serverless๊ด€๋ฆฌํ˜•์ˆ˜์‹ญ์–ต ๋ฒกํ„ฐk-NN + ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰, Bedrock Knowledge Bases ๊ธฐ๋ณธ
Amazon S3 Vectors๊ด€๋ฆฌํ˜•20์–ต/์ธ๋ฑ์Šค์ตœ๋Œ€ 90% ๋น„์šฉ ์ ˆ๊ฐ, S3 ๋„ค์ดํ‹ฐ๋ธŒ
FAISS (์ธ๋ฉ”๋ชจ๋ฆฌ)์ž์ฒด ๊ด€๋ฆฌ์ˆ˜๋ฐฑ๋งŒ ๋ฒกํ„ฐ๋กœ์ปฌ ๊ฐœ๋ฐœ, ๋น ๋ฅธ ํ”„๋กœํ† ํƒ€์ž…
Pinecone์™ธ๋ถ€ SaaS์ˆ˜์‹ญ์–ต ๋ฒกํ„ฐ๋ฉ€ํ‹ฐํ…Œ๋„Œ์‹œ, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„ํ„ฐ
takeaway

ํ”„๋กœ๋•์…˜ RAG๋Š” OpenSearch Serverless, ๋Œ€๊ทœ๋ชจยท๋น„์šฉ ๋ฏผ๊ฐ ์›Œํฌ๋กœ๋“œ๋Š” S3 Vectors, ํ”„๋กœํ† ํƒ€์ž…์€ FAISS๊ฐ€ ์ถœ๋ฐœ์ ์ž…๋‹ˆ๋‹ค.

๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ยท ์œ ์‚ฌ๋„ ๋ฉ”ํŠธ๋ฆญ ยท KNN vs ANN

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

์งˆ๋ฌธ์„ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊ฟ” ์œ ์‚ฌ ๋ฌธ์„œ๋ฅผ ์ฐพ๋Š” ์˜จ๋ผ์ธ ๊ตฌ๊ฐ„ โ€” ๋งค ์š”์ฒญ ์‹ค์‹œ๊ฐ„ ์‹คํ–‰

๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ 5๋‹จ๊ณ„

์ธ๋ฑ์‹ฑ๊ณผ ๋‹ฌ๋ฆฌ ์‚ฌ์šฉ์ž ์š”์ฒญ๋งˆ๋‹ค ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค โ€” ๊ฐ ๋‹จ๊ณ„์˜ ์„ ํƒ์ด ์ •ํ™•๋„ยท์†๋„ยท๋น„์šฉ์„ ๊ฒฐ์ •

  • ์ฟผ๋ฆฌ ์ž„๋ฒ ๋”ฉ
  • ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ (ANN)
  • ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ (์„ ํƒ)
  • ๋ฆฌ๋žญํ‚น
  • Top-K ์„ ํƒ
takeaway

๋งค ์š”์ฒญ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ง€์—ฐ ์‹œ๊ฐ„์ด ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค โ€” ๊ทธ๋ฆฌ๊ณ  ์ฟผ๋ฆฌ ์ž„๋ฒ ๋”ฉ์€ ๋ฐ˜๋“œ์‹œ ์ธ๋ฑ์‹ฑ๊ณผ ๋™์ผํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

๊ธฐ์กด ๊ฒ€์ƒ‰ vs RAG์˜ ๊ฒ€์ƒ‰

๊ฐ™์€ "๊ฒ€์ƒ‰"์ด์ง€๋งŒ ์ฐพ๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค โ€” ๋‹จ์–ด ์ผ์น˜๊ฐ€ ์•„๋‹ˆ๋ผ ์˜๋ฏธ ๊ฑฐ๋ฆฌ

ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰ (๊ธฐ์กด)

๋‹จ์–ด ์ผ์น˜ โ€” ์—ญ์ƒ‰์ธยทBM25

  • "์˜ˆ์•ฝ๊ธˆ"์œผ๋กœ ์ฐพ์œผ๋ฉด "์˜ˆ์•ฝ๊ธˆ"์ด ์žˆ๋Š” ๋ฌธ์„œ๋งŒ
  • "๋ณด์ฆ๊ธˆ", "์„ ๊ฒฐ์ œ" ๊ฐ™์€ ๋‹ค๋ฅธ ํ‘œํ˜„์€ ๋†“์นจ
  • ๊ณ ์œ ๋ช…์‚ฌยท์ฝ”๋“œยท์ •ํ™•ํ•œ ๋ฌธ๊ตฌ ๋งค์นญ์—๋Š” ๊ฐ•ํ•จ
  • ์ˆ˜์‹ญ ๋…„ ๊ฒ€์ฆ๋œ ๋ฐฉ์‹ โ€” ๋น ๋ฅด๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅ

๊ฒ€์ƒ‰์—”์ง„ยทDB์˜ LIKE ๊ฒ€์ƒ‰์ด ์—ฌ๊ธฐ์— ์†ํ•ฉ๋‹ˆ๋‹ค โ€” ๋‹จ์–ด๊ฐ€ ๊ฐ™์•„์•ผ ์ฐพ์Šต๋‹ˆ๋‹ค.

์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰ (RAG)

์˜๋ฏธ ๊ฑฐ๋ฆฌ โ€” ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ ์œ ์‚ฌ๋„

  • ์งˆ๋ฌธ๊ณผ ์ฒญํฌ๋ฅผ ๊ฐ™์€ ์ขŒํ‘œ๊ณ„์˜ ๋ฒกํ„ฐ๋กœ ๋น„๊ต
  • "์˜ˆ์•ฝ๊ธˆ ํ™˜๋ถˆ"๊ณผ "๋ณด์ฆ๊ธˆ ๋ฐ˜ํ™˜ ๊ทœ์ •"์ด ๋งค์นญ
  • ํ‘œํ˜„์ด ๋‹ฌ๋ผ๋„ ์˜๋ฏธ๊ฐ€ ๊ฐ™์œผ๋ฉด ์ฐพ์•„๋ƒ„
  • ์ธ๋ฑ์‹ฑ์—์„œ ๋งŒ๋“ค์–ด ๋‘” ๋ฒกํ„ฐ๊ฐ€ ์ „์ œ ์กฐ๊ฑด

์•ž ํŒŒํŠธ์˜ ์ž„๋ฒ ๋”ฉ ์ขŒํ‘œ์—์„œ ์งˆ๋ฌธ๊ณผ ๊ฐ€๊นŒ์šด ์ ์„ ์ฐพ๋Š” ๊ฒƒ โ€” RAG ๊ฒ€์ƒ‰์˜ ๋ณธ์งˆ์ž…๋‹ˆ๋‹ค.

takeaway

RAG์˜ ๊ฒ€์ƒ‰์€ ๋‹จ์–ด ์ผ์น˜๊ฐ€ ์•„๋‹ˆ๋ผ ์˜๋ฏธ ๊ฑฐ๋ฆฌ ๊ณ„์‚ฐ์ž…๋‹ˆ๋‹ค โ€” ์ด๊ฑธ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ ค๊ณ  ์ธ๋ฑ์‹ฑ์—์„œ ๋ชจ๋“  ์ฒญํฌ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋งŒ๋“ค์–ด ๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๋™์ž‘ ์›๋ฆฌ

ํ‚ค์›Œ๋“œ๋Š” ์™„์ „ ์ผ์น˜๋งŒ, ๋ฒกํ„ฐ๋Š” ๋™์˜์–ดยท์œ ์‚ฌ ํ‘œํ˜„ยท๋‹ค๊ตญ์–ด๊นŒ์ง€ ํฌ์ฐฉ

  1. 1
    ์ฟผ๋ฆฌ ์ž„๋ฒ ๋”ฉ

    ์งˆ๋ฌธ์„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ โ€” ์ธ๋ฑ์‹ฑ๊ณผ ๋™์ผํ•œ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ ํ•„์ˆ˜

  2. 2
    ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ (ANN)

    ์ˆ˜๋ฐฑ๋งŒ ๋ฒกํ„ฐ์—์„œ ์œ ์‚ฌ ํ›„๋ณด ์ˆ˜๋ฐฑ ๊ฐœ๋ฅผ ๋ฐ€๋ฆฌ์ดˆ์— ํƒ์ƒ‰

  3. 3
    ํ•˜์ด๋ธŒ๋ฆฌ๋“œ (์„ ํƒ)

    ํ‚ค์›Œ๋“œ(BM25) ๊ฒฐ๊ณผ์™€ ๊ฒฐํ•ฉ โ€” ๊ณ ์œ ๋ช…์‚ฌยท์ฝ”๋“œ ๋งค์นญ ๋ณด์™„

  4. 4
    ๋ฆฌ๋žญํ‚น

    ํ›„๋ณด๋ฅผ ์ฟผ๋ฆฌ์™€ 1:1 ์ •๋ฐ€ ๋น„๊ตํ•˜์—ฌ ์ˆœ์œ„ ์žฌ์กฐ์ •

  5. 5
    Top-K ์„ ํƒ

    ์ตœ์ข… ์ƒ์œ„ K๊ฐœ๋งŒ LLM ํ”„๋กฌํ”„ํŠธ์— ์ฃผ์ž…

takeaway

๋ฒกํ„ฐ๊ฐ€ ์˜๋ฏธ๋ฅผ ์žก๊ณ  ํ‚ค์›Œ๋“œ๊ฐ€ ๊ณ ์œ ๋ช…์‚ฌ๋ฅผ ์žก์Šต๋‹ˆ๋‹ค โ€” ์‹ค๋ฌด ๊ธฐ๋ณธ๊ฐ’์€ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ + ๋ฆฌ๋žญํ‚น ์กฐํ•ฉ์ž…๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

๊ฒ€์ƒ‰์˜ ์‹ค์ œ โ€” ์œ ์‚ฌ๋„ ์ ์ˆ˜์™€ Top-K

์งˆ๋ฌธ์ด ๋ฒกํ„ฐ๊ฐ€ ๋˜์–ด ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋‚˜๋Š” ์ˆœ๊ฐ„ โ€” ์ ์ˆ˜๋กœ ์ค„ ์„ธ์šฐ๊ณ  ์ƒ์œ„ K๊ฐœ๋งŒ ํ†ต๊ณผ





"์˜ˆ์•ฝ๊ธˆ ํ™˜๋ถˆ ๊ทœ์ •์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?"
โ†’
[ 0.08, โˆ’0.62, 0.31, โ€ฆ ]
์ธ๋ฑ์Šค์˜ ์ฒญํฌ ๋ฒกํ„ฐ์™€ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„


restaurant-policy.pdf ยท ์ฒญํฌ #12
0.87

restaurant-policy.pdf ยท ์ฒญํฌ #13
0.79

Top-K = 2 ์ปท โ€” ์•„๋ž˜๋Š” ๋ฒ„๋ ค์ง

menu-guide.pdf ยท ์ฒญํฌ #04
0.41

parking-guide.pdf ยท ์ฒญํฌ #21
0.33


ANN์ด ์ˆ˜๋ฐฑ๋งŒ ํ›„๋ณด๋ฅผ ๋ฐ€๋ฆฌ์ดˆ์— ์ขํžŒ ๋’ค ์ ์ˆ˜ ์ˆœ ์ •๋ ฌ โ€” ์ƒ์œ„ 2๊ฐœ๋งŒ ํ”„๋กฌํ”„ํŠธ๋กœ (์˜ˆ์‹œ ์ˆ˜์น˜)



takeaway

1๋“ฑ์ด ์ธ๋ฑ์‹ฑ์—์„œ ๋งŒ๋“  ์ฒญํฌ #12์ž…๋‹ˆ๋‹ค โ€” ์ธ๋ฑ์‹ฑ ํ’ˆ์งˆ์ด ๊ณง ๊ฒ€์ƒ‰ ํ’ˆ์งˆ์ž…๋‹ˆ๋‹ค. Top-K๋ฅผ ํ†ต๊ณผํ•œ ์ฒญํฌ๋งŒ ํ”„๋กฌํ”„ํŠธ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

์œ ์‚ฌ๋„ ๋ฉ”ํŠธ๋ฆญ 3๊ฐ€์ง€

๋ฒกํ„ฐ ๊ฐ„ "๊ฐ€๊นŒ์›€"์„ ์ธก์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• โ€” ๋ฐ์ดํ„ฐ ํŠน์„ฑ์— ๋”ฐ๋ผ ์„ ํƒ

์œ ํด๋ฆฌ๋“œ ๊ฑฐ๋ฆฌ

๋‘ ์  ์‚ฌ์ด ์ง์„  ๊ฑฐ๋ฆฌ

  • ๋ฒ”์œ„ 0 ~ ๋ฌดํ•œ๋Œ€ โ€” ์ž‘์„์ˆ˜๋ก ์œ ์‚ฌ
  • ๋ฐฉํ–ฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๋ชจ๋‘ ๋ฐ˜์˜
  • ์ขŒํ‘œยท์ˆ˜์น˜ ๋ฐ์ดํ„ฐ์— ์ž์—ฐ์Šค๋Ÿฌ์›€

์–ธ์ œ โ€” ์ด๋ฏธ์ง€, ์ขŒํ‘œ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ

๋‚ด์  (Dot Product)

๋ฐฉํ–ฅ + ํฌ๊ธฐ ๋™์‹œ ๋ฐ˜์˜

  • ์ •๊ทœํ™”๋œ ๋ฒกํ„ฐ์—์„  ์ฝ”์‚ฌ์ธ๊ณผ ๋™์ผ
  • ๊ณ„์‚ฐ์ด ๊ฐ€์žฅ ๋น ๋ฆ„
  • ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ฒฝ๋กœ๋กœ ํ™œ์šฉ

์–ธ์ œ โ€” ๋Œ€๊ทœ๋ชจ ๊ฒ€์ƒ‰์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”

takeaway

์ฝ”์‚ฌ์ธ์€ ๋ฐฉํ–ฅ์ด์ง€ ๊ฑฐ๋ฆฌ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค โ€” ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ€๊นŒ์›Œ๋„ ๋ฐฉํ–ฅ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์œ ํด๋ฆฌ๋“œ์™€ ํ˜ผ๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

KNN โ€” ๋ชจ๋‘์™€ ๋น„๊ตํ•˜๋Š” ์ „์ˆ˜ ๊ฒ€์ƒ‰

k-Nearest Neighbors โ€” ์งˆ๋ฌธ ๋ฒกํ„ฐ๋ฅผ ์ธ๋ฑ์Šค์˜ ๋ชจ๋“  ๋ฒกํ„ฐ์™€ ๋น„๊ตํ•ด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๊ฐœ๋ฅผ ๊ณ ๋ฅธ๋‹ค




๋ชจ๋“  ๋ฒกํ„ฐ์™€ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ โ€” ๋ฒกํ„ฐ๊ฐ€ 100๋งŒ ๊ฐœ๋ฉด ๊ณ„์‚ฐ๋„ 100๋งŒ ๋ฒˆ













Q


๊ฐ€์žฅ ๊ฐ€๊นŒ์šด k๊ฐœ = ์ •๋‹ต












O(N) โ€” ๋ฌธ์„œ ์ˆ˜์— ๋น„๋ก€ํ•ด ๋А๋ ค์ง
์ •ํ™•๋„ 100% โ€” ์ง„์งœ ์ตœ๊ทผ์ ‘ ๋ณด์žฅ
์•ฝ 1๋งŒ ๊ฑด ๋ฏธ๋งŒ์ด๋ฉด ์ด๊ฑธ๋กœ ์ถฉ๋ถ„


takeaway

์ •๋‹ต์ด ๋ณด์žฅ๋˜๋Š” ๋Œ€์‹  ๋ฌธ์„œ๊ฐ€ ๋Š˜์–ด๋‚œ ๋งŒํผ ๊ทธ๋Œ€๋กœ ๋А๋ ค์ง‘๋‹ˆ๋‹ค โ€” ๋งค ์งˆ๋ฌธ๋งˆ๋‹ค ์ „์ฒด์™€ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

ANN โ€” ์ง€๋ฆ„๊ธธ๋กœ ์ขํžˆ๋Š” ๊ทผ์‚ฌ ๊ฒ€์ƒ‰

Approximate Nearest Neighbor โ€” ๋ฏธ๋ฆฌ ๋งŒ๋“  ์ธ๋ฑ์Šค ๊ตฌ์กฐ๋กœ ํ›„๋ณด๋ฅผ ์ขํ˜€ ์ผ๋ถ€๋งŒ ๋น„๊ต, "๊ฑฐ์˜ ์ •ํ™•ํ•œ ๋‹ต"์„ ๋ฐ€๋ฆฌ์ดˆ์—

IVF

Inverted File Index ยท ํด๋Ÿฌ์Šคํ„ฐ ๊ณ„์—ด

  • ๋ฒกํ„ฐ๋ฅผ ๊ตฐ์ง‘์œผ๋กœ ๋ฌถ๊ณ  ๊ฐ€๊นŒ์šด ๊ตฐ์ง‘๋งŒ ํƒ์ƒ‰
  • O(โˆšN) โ€” ์ธ๋ฑ์Šค ๊ตฌ์ถ•์ด ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›€

์–ธ์ œ โ€” ์ˆ˜์–ต ๋ฒกํ„ฐ ๋ฐฐ์น˜ โ€” FAISS

PQ

Product Quantization ยท ์••์ถ• ๊ณ„์—ด

  • ๋ฒกํ„ฐ๋ฅผ ์งง์€ ์ฝ”๋“œ๋กœ ์••์ถ•ํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ
  • ๋‹จ๋…๋ณด๋‹ค IVF+PQ ์กฐํ•ฉ์œผ๋กœ ํ™œ์šฉ

์–ธ์ œ โ€” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ณ‘๋ชฉ์ผ ๋•Œ

LSH

Locality-Sensitive Hashing ยท ํ•ด์‹œ ๊ณ„์—ด

  • ๋น„์Šทํ•œ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ™์€ ๋ฒ„ํ‚ท์— ๊ฑธ๋ฆฌ๋Š” ํ•ด์‹œ
  • ์ •ํ™•๋„๊ฐ€ ๋‚ฎ์•„ RAG์—์„  ๋“œ๋ฌพ

์–ธ์ œ โ€” ์ค‘๋ณต ํƒ์ง€ ยท ์ดˆ๊ณ ์† ๊ทผ์‚ฌ

takeaway

ํ”„๋กœ๋•์…˜ RAG์˜ ํ‘œ์ค€์€ HNSW์ž…๋‹ˆ๋‹ค โ€” ๋‚˜๋จธ์ง€๋Š” ๊ทœ๋ชจยท๋ฉ”๋ชจ๋ฆฌ ์ œ์•ฝ์ด ์žˆ์„ ๋•Œ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

KNN vs ANN โ€” ์ •ํ™•๋„์™€ ์†๋„์˜ ๊ฑฐ๋ž˜

KNN(k-Nearest Neighbors)์€ ์ •ํ™•ํ•˜์ง€๋งŒ ๋А๋ฆฐ ์ „์ˆ˜ ๋น„๊ต โ€” ANN(Approximate Nearest Neighbor)์€ ์ธ๋ฑ์Šค๋กœ "๊ฑฐ์˜ ์ •ํ™•ํ•œ ๋‹ต"์„ ๋ฐ€๋ฆฌ์ดˆ์—

๋ฐฉ์‹์†๋„์ •ํ™•๋„๋ฉ”๋ชจ๋ฆฌ์ ํ•ฉ ์ƒํ™ฉ
KNN (์ „์ˆ˜ ๋น„๊ต)O(N) โ€” ๋А๋ฆผ100%๋‚ฎ์Œ์•ฝ 1๋งŒ ๊ฑด ๋ฏธ๋งŒ, ์ •ํ™•๋„ ์ ˆ๋Œ€ ํ•„์š”
ANN โ€” HNSW (๊ทธ๋ž˜ํ”„)O(log N) โ€” ๋งค์šฐ ๋น ๋ฆ„๋†’์Œ (๊ทผ์‚ฌ)๋†’์Œ (๊ทธ๋ž˜ํ”„ ์ƒ์ฃผ)ํ”„๋กœ๋•์…˜ RAG, ์‹ค์‹œ๊ฐ„ ์‚ฝ์ž…
ANN โ€” IVF (ํด๋Ÿฌ์Šคํ„ฐ)O(โˆšN) โ€” ๋น ๋ฆ„์ค‘๊ฐ„~๋†’์Œ (๊ทผ์‚ฌ)์ค‘๊ฐ„์ˆ˜์–ต ๋ฒกํ„ฐ, ๋น„์šฉ ์šฐ์„ 
takeaway

ํ”„๋กœ๋•์…˜์€ ANN์ด ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค โ€” OpenSearch ๊ธฐ๋ณธ์€ HNSW, ์ดˆ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜๋Š” FAISS์˜ IVF+PQ ์กฐํ•ฉ์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

ANN์˜ ์† โ€” HNSW

๊ณ„์ธต ๊ทธ๋ž˜ํ”„๋ฅผ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ขํ˜€ ๋‚ด๋ ค๊ฐ€๋Š” ํƒ์ƒ‰ โ€” ์ „์ˆ˜ ๋น„๊ต ์—†์ด ๋ฐ€๋ฆฌ์ดˆ๋ฅผ ๋งŒ๋“œ๋Š” ๊ตฌ์กฐ











Layer 2 โ€” ๋…ธ๋“œ๊ฐ€ ์ ์€ ์„ฑ๊ธด ์ธต (๊ณ ์†๋„๋กœ)
Layer 1
Layer 0 โ€” ๋ชจ๋“  ๋ฒกํ„ฐ๊ฐ€ ์žˆ๋Š” ์ธต (๊ณจ๋ชฉ)






์ง„์ž…์ 



















โ˜…
์ตœ๊ทผ์ ‘ ์ด์›ƒ โ€” ์งˆ๋ฌธ Q์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฒกํ„ฐ



โ‘  ์œ„์ธต์—์„œ ์ง„์ž…
๋…ธ๋“œ๊ฐ€ ์ ์€ ์ธต์—์„œ ํฌ๊ฒŒ ๊ฑด๋„ˆ๋›ฐ๋ฉฐ Q ๊ทผ์ฒ˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

โ‘ก ๋ง‰ํžˆ๋ฉด ํ•œ ์ธต ์•„๋ž˜๋กœ
์ธต ์•ˆ์—์„œ ๋” ๊ฐ€๊นŒ์šด ์ด์›ƒ์ด ์—†์œผ๋ฉด ์•„๋ž˜์ธต์œผ๋กœ ๋‚ด๋ ค๊ฐ€ ๋” ์ด˜์ด˜ํ•˜๊ฒŒ ์ขํž™๋‹ˆ๋‹ค.

โ‘ข ๋งจ ์•„๋ž˜์ธต์—์„œ ํ™•์ •
๋ชจ๋“  ๋ฒกํ„ฐ๊ฐ€ ์žˆ๋Š” Layer 0์—์„œ ์ตœ๊ทผ์ ‘ ์ด์›ƒ์„ ํ™•์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋น„๊ต๋Š” ์ˆ˜์‹ญ ๋ฒˆ โ€” 100๋งŒ ๋ฒกํ„ฐ ์ „์ˆ˜ ๋น„๊ต ์—†์ด ๋ฐ€๋ฆฌ์ดˆ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.



takeaway

์ •ํ™•๋„์™€ ์†๋„์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค โ€” OpenSearch ์‹ค์Šต์—์„œ HNSW ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง์ ‘ ๋งŒ์ง‘๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

ANN์˜ ์† โ€” IVF

Inverted File Index โ€” ๊ตฐ์ง‘ ๋Œ€ํ‘œ๋งŒ ๋จผ์ € ๋น„๊ตํ•˜๊ณ  ๊ฐ€๊นŒ์šด ๊ตฐ์ง‘๋งŒ ์—ฌ๋Š” ํƒ์ƒ‰, ํ›„๋ณด ์ˆ˜๋ฅผ ์ค„์ด๋Š” ์ง€๋ ›๋Œ€











์„ผํŠธ๋กœ์ด๋“œ




โ˜…
์งˆ๋ฌธ Q


๊ฐ€๊นŒ์šด ๊ตฐ์ง‘ โ‘  โ€” ์—ด์–ด๋ด„
๊ฐ€๊นŒ์šด ๊ตฐ์ง‘ โ‘ก โ€” ์—ด์–ด๋ด„
๊ฑด๋„ˆ๋œ€
๊ฑด๋„ˆ๋œ€



โ‘  ์ธ๋ฑ์‹ฑ ๋•Œ ๊ตฐ์ง‘ํ™”
๋ฒกํ„ฐ ์ „์ฒด๋ฅผ K๊ฐœ ๊ตฐ์ง‘์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๊ตฐ์ง‘๋งˆ๋‹ค ๋Œ€ํ‘œ(์„ผํŠธ๋กœ์ด๋“œ)๋ฅผ ๋‘ก๋‹ˆ๋‹ค.

โ‘ก ๋Œ€ํ‘œ์™€๋งŒ ๋จผ์ € ๋น„๊ต
์งˆ๋ฌธ Q๋ฅผ ์„ผํŠธ๋กœ์ด๋“œ K๊ฐœ์™€๋งŒ ๋น„๊ตํ•ด ๊ฐ€๊นŒ์šด ๊ตฐ์ง‘ nprobe๊ฐœ๋ฅผ ๊ณ ๋ฆ…๋‹ˆ๋‹ค.

โ‘ข ๊ณ ๋ฅธ ๊ตฐ์ง‘ ์•ˆ์—์„œ๋งŒ ๋น„๊ต
์„ ํƒ๋œ ๊ตฐ์ง‘์˜ ๋ฒกํ„ฐ๋งŒ ๋น„๊ต โ€” ๋‚˜๋จธ์ง€๋Š” ํ†ต์งธ๋กœ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

nprobe๋ฅผ ํ‚ค์šฐ๋ฉด ์ •ํ™•๋„โ†‘ ์†๋„โ†“ โ€” IVF์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ์†์žก์ด์ž…๋‹ˆ๋‹ค.



takeaway

์ธ๋ฑ์Šค ๊ตฌ์ถ•์ด ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›Œ ์ˆ˜์–ต ๋ฒกํ„ฐ ๋ฐฐ์น˜(FAISS)์— ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค โ€” ๊ตฐ์ง‘ ๊ฒฝ๊ณ„ ๊ทผ์ฒ˜์˜ ์ด์›ƒ์€ ๋†“์น  ์ˆ˜ ์žˆ์–ด nprobe๋กœ ๋ณด์ •ํ•ฉ๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

ANN์˜ ์† โ€” PQ

Product Quantization โ€” ๋ฒกํ„ฐ๋ฅผ ์งง์€ ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ” ์••์ถ•ํ•œ ์ฑ„ ๋น„๊ต, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ค„์ด๋Š” ์ง€๋ ›๋Œ€





์›๋ณธ ๋ฒกํ„ฐ โ€” float 1,024๊ฐœ ยท 4KB


โ†“ 128์ฐจ์›์”ฉ ์„œ๋ธŒ๋ฒกํ„ฐ 8์กฐ๊ฐ โ€” ๊ฐ ์กฐ๊ฐ์„ ์ฝ”๋“œ๋ถ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋Œ€ํ‘œ ๋ฒกํ„ฐ ID๋กœ ์น˜ํ™˜

172038851426123094

PQ ์ฝ”๋“œ โ€” 1๋ฐ”์ดํŠธ ร— 8 = 8B ยท ๋ฉ”๋ชจ๋ฆฌ 1/512




โ‘  ์„œ๋ธŒ๋ฒกํ„ฐ ๋ถ„ํ• 
1,024์ฐจ์›์„ 128์ฐจ์›์”ฉ 8์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค.

โ‘ก ์ฝ”๋“œ๋ถ ์น˜ํ™˜
์กฐ๊ฐ๋งˆ๋‹ค ๋Œ€ํ‘œ ๋ฒกํ„ฐ 256๊ฐœ์งœ๋ฆฌ ์ฝ”๋“œ๋ถ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ID(1๋ฐ”์ดํŠธ)๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

โ‘ข ํ‘œ๋กœ ๊ทผ์‚ฌ ๋น„๊ต
๋Œ€ํ‘œ๋ผ๋ฆฌ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•œ ํ‘œ๋ฅผ ์กฐํ•ฉ โ€” ๋ณต์› ์—†์ด ์••์ถ•๋œ ์ฑ„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

4KB โ†’ 8B, ๋ฉ”๋ชจ๋ฆฌ 1/512 โ€” ์ •ํ™•๋„๋ฅผ ์กฐ๊ธˆ ์–‘๋ณดํ•˜๋Š” ๋Œ€์‹  ์ˆ˜์–ต ๋ฒกํ„ฐ๊ฐ€ ๋žจ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.



takeaway

๋‹จ๋…๋ณด๋‹ค IVF+PQ ์กฐํ•ฉ์ด ์ •์„์ž…๋‹ˆ๋‹ค โ€” IVF๊ฐ€ ํ›„๋ณด๋ฅผ ์ค„์ด๊ณ , PQ๊ฐ€ ๊ทธ ํ›„๋ณด๋ฅผ ์••์ถ•ํ•œ ์ฑ„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ RAG ๊ธฐ๋ณธ์€ ์—ฌ์ „ํžˆ HNSW์ž…๋‹ˆ๋‹ค.

PART 4 ยท ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ

์ฆ๊ฐ•์˜ ์‹ค์ œ โ€” ํ”„๋กฌํ”„ํŠธ์— ๊ทผ๊ฑฐ ๋„ฃ๊ธฐ

Top-K๋กœ ๊ณ ๋ฅธ ์ฒญํฌ๊ฐ€ ํ”„๋กฌํ”„ํŠธ์— ๋“ค์–ด๊ฐ€๋Š” ์ˆœ๊ฐ„ โ€” RยทAยทG์˜ A๋Š” ๊ฒฐ๊ตญ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„



๋Ÿฌ๋‹ ์˜ˆ์ œ
results = ๊ฒ€์ƒ‰์„ ํ†ต๊ณผํ•œ ์ฒญํฌ 2๊ฐœ โ€” [๋ฌธ์„œ 1] "์˜ˆ์•ฝ๊ธˆ์€ ์ด์šฉ์ผ 3์ผ ์ „๊นŒ์ง€ ์ทจ์†Œํ•˜๋ฉด ์ „์•ก ํ™˜๋ถˆโ€ฆ" (์ฒญํฌ #12)
question = "์˜ˆ์•ฝ๊ธˆ ํ™˜๋ถˆ ๊ทœ์ •์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?"

python
# โ‘  ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ(results)๋ฅผ [๋ฌธ์„œ N]ยท์ถœ์ฒ˜ URI๊ฐ€ ๋ถ™์€ ๊ทผ๊ฑฐ ๋ธ”๋ก์œผ๋กœ ์กฐ๋ฆฝ
context = "\n\n".join(
    f"[๋ฌธ์„œ {i+1}] (์ถœ์ฒ˜: {r['location']['s3Location']['uri']})\n"
    f"{r['content']['text']}"
    for i, r in enumerate(results)  # โ‘ก results๋Š” Top-K๊ฐœ โ€” ์ปจํ…์ŠคํŠธ ์˜ˆ์‚ฐ
)

# โ‘ข ๊ฑฐ์ ˆ ์ง€์‹œ โ€” 2ํ–‰ / โ‘ฃ ์ถœ์ฒ˜ ํ‘œ๊ธฐ ์ง€์‹œ โ€” 3ํ–‰
prompt = f"""์•„๋ž˜ <๊ทผ๊ฑฐ> ๋ฌธ์„œ๋งŒ ์‚ฌ์šฉํ•ด ์งˆ๋ฌธ์— ๋‹ตํ•˜์„ธ์š”.
๊ทผ๊ฑฐ์— ์—†๋Š” ๋‚ด์šฉ์€ "๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค"๋ผ๊ณ  ๋‹ตํ•ฉ๋‹ˆ๋‹ค.
๋‹ต๋ณ€ ๋์— ์‚ฌ์šฉํ•œ ๋ฌธ์„œ ๋ฒˆํ˜ธ๋ฅผ ํ‘œ๊ธฐํ•˜์„ธ์š”.

<๊ทผ๊ฑฐ>
{context}
</๊ทผ๊ฑฐ>

์งˆ๋ฌธ: {question}"""
  • ๊ทผ๊ฑฐ ๋ธ”๋ก ๊ตฌ๋ถ„ โ€” <๊ทผ๊ฑฐ> ํƒœ๊ทธยท๋ฌธ์„œ ๋ฒˆํ˜ธ๋กœ ๊ฒฝ๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ. ๋ชจ๋ธ์ด ๊ทผ๊ฑฐ์™€ ์งˆ๋ฌธ์„ ํ˜ผ๋™ํ•˜์ง€ ์•Š๊ฒŒ
  • ์ปจํ…์ŠคํŠธ ์˜ˆ์‚ฐ โ€” Top-K์™€ ์ฒญํฌ ํฌ๊ธฐ์˜ ๊ณฑ์ด ํ”„๋กฌํ”„ํŠธ ๋น„์šฉ. ๋„ฃ์„์ˆ˜๋ก ์ข‹์€ ๊ฒŒ ์•„๋‹˜
  • ๊ฑฐ์ ˆ ์ง€์‹œ โ€” "๊ทผ๊ฑฐ์— ์—†์œผ๋ฉด ์—†๋‹ค๊ณ  ๋‹ตํ•˜๋ผ". ํ™˜๊ฐ์„ ์ค„์ด๋Š” ๊ฐ€์žฅ ์‹ผ ์žฅ์น˜
  • ์ถœ์ฒ˜ ํ‘œ๊ธฐ ์ง€์‹œ โ€” ๋ฌธ์„œ ๋ฒˆํ˜ธยทURI๋ฅผ ๋‹ต๋ณ€์— ์ธ์šฉํ•˜๊ฒŒ. Citation์˜ ์›๋ฆฌ
RAG๋Š” ๋ชจ๋ธ์„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋‹ต์˜ ํ’ˆ์งˆ์„ ๋†’์ด๋Š” ๊ฐ€์žฅ ํšจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ธ๋ฑ์‹ฑ๊ณผ ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ดํ•ดํ•ด์•ผ ์˜ฌ๋ฐ”๋ฅธ RAG๋ฅผ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.