๊ธฐ์กด์˜ ๋ฌธ์ œ(Naive Chunking)

๊ธฐ์กด RAG๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” full text๊ฐ€ ์•„๋‹Œ ๊ฐœ๋ณ„์ ์ธ chunking ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด์•ผ ํ–ˆ๋‹ค. ์ด์— ๋”ฐ๋ผ ์ž„๋ฒ ๋”ฉ์„ ๊ฑฐ์ณ ๋‹จ์ˆœ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์ด ์•„๋‹ˆ๋ผ ์˜๋ฏธ ๊ธฐ๋ฐ˜ semantic search๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด ๊ฐ๊ฐ์˜ ์ฒญํฌ์— ๋Œ€ํ•ด์„œ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•ด์•ผ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ์ฒญํ‚น ๋ฐฉ์‹์˜ ๋ฌธ์ œ์ ์€ ์กฐ๊ฐ ๋‚ธ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋งŒ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ๋งฅ๋ฝ์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ํŠนํžˆ ์˜์–ด๋ฅผ ํ†ตํ•ด์„œ๋Š” ๋” ์ž˜ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„ ์‚ฌ์ง„์„ ๋ณธ ๊ฐ ๋Œ€๋ช…์‚ฌ๋“ค์ด ๋ฌด์—‡์„ ์ง€์นญํ•˜๋Š”์ง€ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๊ฐ€์žฅ ์ตœ์ƒ๋‹จ์˜ Berlin์„ ์ง€์นญํ•˜์ง€๋งŒ, ๊ฐ ์ฒญํฌ๋“ค์—๊ฒŒ ์ด Berlin์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— Its, The city๊ฐ€ ๋ฒ ๋ฅผ๋ฆฐ์„ ์ง€์นญํ•˜๋Š” ๊ฒƒ์ธ์ง€ ๋ชจ๋ฅด๊ฒŒ ๋˜๊ณ  ์ด๋Š” ๊ฒฐ๊ตญ ๊ฒ€์ƒ‰์˜ ํ’ˆ์งˆ์„ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค.

๋”ฐ๋ผ์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ก ์ด ์ œ๊ธฐ๋˜์—ˆ๋Š”๋ฐ, ์•„์˜ˆ ๊ธด context๋ฅผ ๊ฐ€์ง„ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์—ˆ์ง€๋งŒ ์—ฐ๊ตฌ ๊ฒฐ๊ณผ ๊ฒ€์ƒ‰์— ๋Œ€ํ•œ ํ’ˆ์งˆ์€ ์กฐ๊ธˆ ๋” ์ž˜๊ฒŒ ๋‚˜๋‰˜์–ด์ ธ ์žˆ๋Š” ์ฒญํ‚น๋“ค์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๊ฐ€ ์ข‹์•˜๋‹ค๊ณ  ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ด ์ž‘์€ ์ฒญํ‚น ๋‹จ์œ„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ถ”๊ฐ€์ ์œผ๋กœ ํ’ˆ์งˆ์„ ๋” ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, Late Chunking์ด ๋ฐ”๋กœ ๊ทธ๋Ÿฐ ๋ฐฉ๋ฒ•๋ก ๋“ค ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

Late Chunking

์™œ Late Chunking ๋ฐฉ์‹์ด๋ผ๊ณ  ์ด๋ฆ„์„ ์ง€์—ˆ๋Š”์ง€๋Š” ๊ทธ๋“ค์ด ์–ด๋–ป๊ฒŒ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค ํ–ˆ๋Š”์ง€์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค๋ฉด ์ด๋ฆ„ ๋˜ํ•œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

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

ํ‰๊ท  ํ’€๋ง (Mean Pooling): ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ† ํฐ ๋ฒกํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋Œ€ํ‘œ ๋ฒกํ„ฐ(์กฐ๊ฐ ์ž„๋ฒ ๋”ฉ)๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฐ์ˆ  ํ‰๊ท ์„ ๊ตฌํ•˜๋Š” ์—ฐ์‚ฐ

๋…๋ฆฝ์ ์ด๊ณ  ๋™์ผํ•˜๊ฒŒ ๋ถ„ํฌ๋œ ์ฒญํฌ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๋‹จ์ˆœ ์ธ์ฝ”๋”ฉ ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ,ย late chunking์€ ๊ฐ ์ž„๋ฒ ๋”ฉ์ด ์ด์ „ ์ž„๋ฒ ๋”ฉ์— โ€œ์กฐ๊ฑดํ™”๋œโ€ ์ฒญํฌ ์ž„๋ฒ ๋”ฉ ์„ธํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐ ์ฒญํฌ์— ๋Œ€ํ•ด ๋” ๋งŽ์€ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ๋‹ด์•„ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐ ์ฒญํฌ๋“ค์— ๋Œ€ํ•ด์„œ ๋ฐ”๋กœ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๊ธฐ ๋ณด๋‹ค๋Š”, ๊ธด ๋ฌธ์„œ์— ๋Œ€ํ•ด ๋จผ์ € ์ž„๋ฒ ๋”ฉ ์„ธํŠธ๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ์— ๊ฐ ์ฒญํฌ์— ๋Œ€ํ•œ ์ž„๋ฒ ๋”ฉ๋“ค์„ ์ƒ์„ฑํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๋ฌธ๋งฅ ์ •๋ณด๋ฅผ ๊ณ ๋ คํ•˜๋ฉด์„œ ์ž„๋ฒ ๋”ฉํ•˜๋ฉด์„œ ์ •๋ณด๋“ค์„ ๋” ๋‹ด์„ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ๋กœ chunking๋“ค์— ๋Œ€ํ•œ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ์€ naiveํ•œ ๋ฒ„์ „๋ณด๋‹ค ๋Šฆ์–ด์ง„๋‹ค. ๊ทธ๋ ‡๊ธฐ์— late chunking์ธ ๊ฒƒ

Contexture Chunking + LateChunking?

contexture chunking์€ ๊ธฐ์กด์˜ fixed sized chunking๋ณด๋‹ค ์กฐ๊ธˆ ๋” ๋ฐœ์ „ํ•œ ๋‹จ๊ณ„๋ฅผ ๋„์ž…ํ•ด ๋‹ค์‹œ๊ธˆ ๋ฌธ์„œ๋ฅผ ์–ด๋А์ •๋„ ๋ฌธ๋งฅ์„ ๋‹ด์€ chunking์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ์— ๋„ฃ์–ด ์ž„๋ฒ ๋”ฉ์„ ๋ฝ‘์•„๋‚ธ๋‹ค. ์ผ์ •ํ•œ ํ† ํฐ ์ˆ˜๋งˆ๋‹ค ์นผ๊ฐ™์ด ์ž˜๋ผ์„œ ์ฒญํ‚น์„ ํ•˜๋Š” fixed sized chunking์€ ๊ฒฐ๊ตญ ๋ฌธ์žฅ ๊ฐ„์— ๋ฌธ์žฅ์ด ๋Š๊ธธ ์ˆ˜๋„ ์žˆ๊ณ  ์ด์— ๋Œ€ํ•ด์„œ ๊ฐ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•  ๋•Œ๋„ ์ข‹์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ํ™•๋ฅ ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์“ด ๋ฐฉ๋ฒ•.

llm์—๊ฒŒ body๋ฅผ ์ฃผ๊ณ , ๋ฌธ๋งฅ์— ๋งž๊ฒŒ ๊ฐ ๋ฌธ๋‹จ๋“ค์„ ๋‚˜๋ˆ„๊ณ , ๊ทธ ๋‹จ์œ„๋กœ ์ฒญํ‚น์„ ํ•œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์ด ๋ฐฉ์‹์€ ๋งŒ์•ฝ์— ์–ด๋– ํ•œ ์ฒญํฌ์˜ body๊ฐ€ A/B/C๋กœ ๋‚˜๋‰˜์–ด ์กŒ๋‹ค๋ฉด, ๋‹ค์Œ ์ฒญํฌ์— ์ด C๊ฐ€ ์ด์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ๋งˆ์ง€๋ง‰ ๋‚จ์€ C์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ์ฒญํฌ์˜ ์•ž๋ถ€๋ถ„์— ๋ถ™์—ฌ๋„ฃ๊ณ  ๋‹ค์‹œ llm์—๊ฒŒ ๋ฌธ๋งฅ์ƒ chunking์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์–ด๋А์ •๋„ ์ž‘์€ ๋‹จ์œ„๋กœ chunking์„ ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋Š” ๋ณด์™„์ด ๋œ ์ƒํƒœ์ด๋‹ค.

๊ทธ๋ ‡์ง€๋งŒ ๋ฌธ์ œ๋Š” ๋น„์œ ํ•˜์ž๋ฉด ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์ž˜ ์•Œ๊ฒŒ ๋˜์—ˆ์ง€๋งŒ ์ „์—ญ ๋ณ€์ˆ˜๋Š” ์ž˜ ๋ชจ๋ฅธ๋‹ค๋Š” ๊ฒƒ. ์ „์ฒด์ ์ธ ๋ฌธ์„œ์˜ ๋งฅ๋ฝ์„ ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์—์„œ๋„ ๋ณด์™„ํ•˜๋ฉด ๋” ํ’ˆ์งˆ์ด ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ด๋ผ๋Š” ๊ฐ€์„ค์„ ๋‘๊ณ  ํ•ด๋‹น late chunking์„ ์ƒ๊ฐํ•ด๋ณด์•˜๋‹ค.

๋„์ž… ๊ฐ€๋Šฅ์„ฑ ์ƒ๊ฐํ•ด๋ณด๊ธฐ

์•ž์„œ ์„ค๋ช…ํ•œ Late Chunking์€ ๊ฐœ๋…์ ์œผ๋กœ๋Š” ๊ดœ์ฐฎ์•„ ๋ณด์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์šฐ๋ฆฌ ์ƒํ™ฉ์„ ๊ณ ๋ คํ–ˆ์„ ๋•Œ ์• ๋งคํ–ˆ๋˜ ๋ถ€๋ถ„๋“ค์ด ์žˆ๋‹ค.

๋ฌธ๋งฅ ์œˆ๋„์šฐ(Context Window)์˜ ๋ฌผ๋ฆฌ์ , ์ ˆ๋Œ€์  ํ•œ๊ณ„

๋ฌธ์„œ์˜ ํŽ˜์ด์ง€ ๋ถ„๋Ÿ‰์„ ํ† ํฐ์œผ๋กœ ๊ณ ๋ คํ•ด ๋ณผ ๋•Œ ๊ธฐ์—…๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์„œ๋“ค ์ค‘์—๋Š” ์ฐธ๊ณ ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฌธ์„œ๋งŒ ํ•˜๋”๋ผ๋„ 1000ํŽ˜์ด์ง€๊ฐ€ ๋„˜๋Š” ๊ฒƒ๋“ค์ด ๋งŽ๋‹ค. ๊ตญ์ œ ํ‘œ์ค€๊ณผ ๊ฐ™์€ ๋ฌธ์„œ๋“ค์€ ๋ชจ๋“  ํ•ญ๋ชฉ์— ๋Œ€ํ•ด์„œ ๋ช…์‹œํ•ด๋†“๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ํ† ํฐ์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ์ˆ˜์‹ญ๋งŒ ํ† ํฐ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ์— ๋น„ํ•ด paper ๋‚ด์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•œ Jina AI์˜ ๋ชจ๋ธ๋“ค(jina-embeddings-v2-base-en ํ˜น์€ jina-embeddings-v3)์กฐ์ฐจ ๋ชจ๋ธ์˜ context๊ฐ€ 8,192 ํ† ํฐ์œผ๋กœ ์ž‘์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ…Œ์ŠคํŠธ๋„ 10ํŽ˜์ด์ง€ ๋‚ด์™ธ์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ 100ํŽ˜์ด์ง€๊ฐ€ ํ›Œ์ฉ ๋„˜๋Š” ๊ณ„์•ฝ์„œ์˜ ์ „์ฒด ๋ฌธ๋งฅ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์— ์ž…๋ ฅํ•˜๋ ค ํ•ด๋„, max token์€ ์•ฝ 30000๋Œ€๊ฐ€ ์ตœ๋Œ€์ธ ๋ชจ๋ธ๋“ค์ด ๋งŽ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ฌธ์„œ๋ฅผ ํ†ต์ฑ„๋กœ..?

๊ฒฐ๊ตญ 100ํŽ˜์ด์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฌธ์„œ๋ฅผ ๋‹ค์‹œ ์ผ์ • ํ† ํฐ ๋‹จ์œ„๋กœ ์ž˜๋ผ์•ผ ํ•œ๋‹ค๋ฉด, ๊ทธ ์ ˆ๋‹จ๋ฉด ์‚ฌ์ด์—์„œ ๋ฌธ๋งฅ ๋‹จ์ ˆ์ด ๋˜๋‹ค์‹œ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด Late Chunking์˜ ๋„์ž… ์ทจ์ง€๊ฐ€ ๋ฌด์ƒ‰ํ•ด์ง„๋‹ค. ๊ทธ๋Ÿผ ์™œ ์“ฐ์ง€..?

ํŠธ๋žœ์Šคํฌ๋จธ 2์ฐจ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ์œ ๋ฐœํ•˜๋Š” ์—ฐ์‚ฐ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ

๋ฐฑ๋ฒˆ ์–‘๋ณดํ•ด์„œ ์–ด๋–ป๊ฒŒ ์–ด๋–ป๊ฒŒ 100,000 ํ† ํฐ์˜ ๋ฌธ๋งฅ ์ฐฝ์„ ์–ต์ง€๋กœ ํ™•๋ณดํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋”๋ผ๋„, ์ปดํ“จํŒ… ์ž์›์˜ ๋ฒฝ์— ๊ฐ€๋กœ๋ง‰ํžˆ๊ฒŒ ๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํŠธ๋žœ์Šคํฌ๋จธ ๋ชจ๋ธ์˜ ์…€ํ”„ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์‹œํ€€์Šค ๊ธธ์ด n^2์— ๋น„๋ก€ํ•˜๋Š” ์—ฐ์‚ฐ๋Ÿ‰๊ณผ ๋ฉ”๋ชจ๋ฆฌ(VRAM)๋ฅผ ์š”๊ตฌํ•œ๋‹ค.

Lost in the Middle

100,000 ํ† ํฐ์— ๋‹ฌํ•˜๋Š” ๋ฐฉ๋Œ€ํ•œ ํ…์ŠคํŠธ๊ฐ€ ์–ดํ…์…˜ ๋ ˆ์ด์–ด๋ฅผ ํ†ต๊ณผํ•  ๊ฒฝ์šฐ, ๋ฌธ์„œ์˜ ์‹œ์ž‘๊ณผ ๋ ๋ถ€๋ถ„์˜ ์ •๋ณด๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ์ž˜ ํฌ์ฐฉ๋˜์ง€๋งŒ ๋ฌธ์„œ์˜ ์ค‘๊ฐ„ ํ…์ŠคํŠธ(์˜ˆ: 40ํŽ˜์ด์ง€~60ํŽ˜์ด์ง€ ๊ตฌ๊ฐ„)์— ์œ„์น˜ํ•œ ํ•ต์‹ฌ ์ •๋ณด์— ๋Œ€ํ•œ ๊ฐ€์ค‘์น˜๋Š” ํฌ์„๋˜์–ด ์˜๋ฏธ์  ์ค‘์š”์„ฑ์„ ์ƒ์‹คํ•˜๋Š” โ€˜Lost in the middleโ€™ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•œ๋‹ค.

๊ฒฐ๋ก 

๊ฐœ๋…์ƒ์œผ๋กœ๋Š” ๊ดœ์ฐฎ์€ ๋…ผ๋ฌธ ๊ฐ™์ง€๋งŒ, 10ํŽ˜์ด์ง€์งœ๋ฆฌ ๋ฌธ์„œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ–ˆ๋‹ค๋Š” ์ ์—์„œ ํ•œ๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋Œ€๋ถ€๋ถ„ RAG๋กœ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๋ฌธ์ œ๋Š” ๋‹จ์ˆœ ํŠน์ • ๋ฌธ์„œ ํ•œ๋‘ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹Œ, ์ˆ˜๋ฐฑํŽ˜์ด์ง€๋ฅผ ๋” ํšจ์œจ์ ์œผ๋กœ ์ฐพ๊ธฐ ์œ„ํ•ด AI๋ฅผ ๋„์ž…ํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ–ˆ๋˜ ์ ์ธ๋ฐ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„๋“ค์„ ๊ด€๊ณผํ•˜๊ณ  ์ž‘์„ฑ๋œ ๋…ผ๋ฌธ์ด ์•„๋‹๊นŒ ์ƒ๊ฐํ•œ๋‹ค.

๋งŒ์•ฝ์— ๋ฌด์กฐ๊ฑด ์จ์•ผ ํ•œ๋‹ค๋ฉด, ์ด late chunking ๋ฐฉ์‹์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ฐฉ๋Œ€ํ•œ ๋ฌธ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ์„ž์–ด ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Anthropic์—์„œ ์ œ์•ˆํ•œ contextual retrieval๊ณผ ๊ฐ™์ด, ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ๋ฌผ๋ ค๋†“๊ณ  ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹ ๋“ฑ์ด ์žˆ์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

Contextual Retrieval in AI Systems

์•คํŠธ๋กœํ”ฝ๋„ RAG ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ•ํ•จ์— ์žˆ์–ด์„œ ์ด๋Ÿฌํ•œ ์ฒญํฌ๋“ค์— ๋Œ€ํ•œ ๋งฅ๋ฝ ์ •๋ณด๊ฐ€ ์—†๋‹ค๋Š” ์ ์„ ์ฃผ๋ชฉํ–ˆ๋‹ค. ์ด์— Contextual Retrieval์ด๋ผ๋Š”๊ฑธ ์ œ์•ˆํ–ˆ๋Š”๋ฐ, ๊ฐ ์ฒญํฌ๋ฅผ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์ „์—, ํ•ด๋‹น ์ฒญํฌ๊ฐ€ ์ „์ฒด ๋ฌธ์„œ์—์„œ ์–ด๋–ค ์œ„์น˜์— ์žˆ๊ณ  ๊ฐ ์ฒญํฌ๊ฐ€ ์ „์ฒด ๋ฌธ์„œ์—์„œ ์–ด๋–ค ์˜๋ฏธ์ธ์ง€ ์„ค๋ช…ํ•˜๋Š” ์งง์€ ๋ฌธ๊ตฌ(์•ฝ 50~100 ํ† ํฐ)๋ฅผ ์ฒญํฌ ์•ž์— ๋ถ™์ธ๋‹ค.

<document> 
{{WHOLE_DOCUMENT}} 
</document> 
Here is the chunk we want to situate within the whole document 
<chunk> 
{{CHUNK_CONTENT}} 
</chunk> 
Please give a short succinct context to situate this chunk within the overall document for the purposes of improving search retrieval of the chunk. Answer only with the succinct context and nothing else. 

์ด๋Ÿฐ ์‹์œผ๋กœ ๊ฐ ์ฒญํฌ๋“ค์— ๋Œ€ํ•œ context๋ฅผ ๊ฐ๊ฐ ๋งŒ๋“œ๋Š”๋ฐ, ์ „์ฒด ๋ฌธ์„œ๋Š” ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ์„ ํ†ตํ•ด ๋น„์šฉ์„ ์ตœ์†Œํ™” ์‹œํ‚ค๋ฉด์„œ๋„ ์˜๋ฏธ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์ด ๋” ์ž˜ ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

ํ•ด๋‹น ๊ธฐ์ˆ ์€ 1M ์ปจํ…์ŠคํŠธ ์œˆ๋„์šฐ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ๋กœ ๋ฏธ๋ฆฌ ๋Œ๋ ค๋†“๊ณ  ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ ํ•œ ๋‹ค์Œ์— ๊ฐ ์ฒญํฌ๋“ค์— ๋Œ€ํ•ด์„œ ๋Œ๋ฆฌ๋ฉด ์–ด๋А์ •๋„ 1000ํŽ˜์ด์ง€๊ฐ€ ๋˜๋Š” ๋ฌธ์„œ๋“ค๋„ ๊ฐ€๋Šฅํ•  ์ •๋„์˜ context window๋ฅผ ๊ฐ€์งˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ๋„ ๊ฐ€๋Šฅํ•ด์„œ ๋น„์šฉ์  ์ ˆ๊ฐ์ด ๊ฐ€๋Šฅํ•ด ๋ณด์—ฌ ๋ณด๋‹ค ํ˜„์‹ค์ ์ธ ๋Œ€์•ˆ์œผ๋กœ๋„ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.