Maano ek document mein N tokens hain aur hum c tokens size ke chunks mein split karte hain. Chunks ki sankhya:
M=⌈cN⌉
Ceiling kyun? Aakhri chunk partial ho sakta hai lekin phir bhi uska apna vector chahiye.
Har chunk ek vector mein embed hota hai. Toh index sizeM∝1/c ke saath badhti hai: chhote chunks ⇒ zyada vectors ⇒ zyada storage aur slow search, lekin finer resolution.
Ab probability ki ek zaruri fact ek single retrievable chunk mein salamat rahe. Agar answer s tokens tak failaa hai aur hum chunk boundaries bina overlap ke rakhte hain, toh answer tab split hota hai jab koi boundary uske andar padti hai. "Boundary positions" ka woh fraction jo length-s span ko todta hai:
Yeh form kyun? Pehla chunk c tokens consume karta hai; baad ka har chunk stride c−o se aage badhta hai. c+(M−1)(c−o)≥N solve karne par yahi formula milta hai.
Pehle sabse bade natural separator par split karne ki koshish karo (\n\n paragraphs), phir sentences, phir words, aur hard cuts tab hi karo jab koi piece c se bada ho.
Kyun behtar: boundaries meaning ke saath align hoti hain, toh har chunk ek coherent idea hota hai.
Socho ek bahut badi library book hai jisme ek amazing fact chhupa hai. Apne dost ko poori book dene ki jagah, tum use index cards mein faad dete ho — har card mein ek clear idea hota hai. Ab jab dost koi sawaal karta hai, tum jaldi se sahi card dhundh sakte ho. Agar cards bahut bade hain toh unme bahut saare ideas hote hain aur confusing lagte hain; bahut chhote hain toh har card apne aap mein samajh nahi aata. Aur tum neighbouring cards ko ek sentence share karne dete ho taaki koi fact jo do cards ke beech aata ho woh kabhi kho na jaaye. Yahi hai chunking.
Documents ko chhote pieces mein split karna jo individually embed aur index hote hain, taaki retrieval poore documents ki jagah relevant chunks return kare.
Bahut bada chunk retrieval ko kyun hurt karta hai?
Uski ek embedding kai ideas ko ek blurry vector mein average kar deti hai jo queries se weakly match karta hai, precision kam karta hai aur context tokens waste karta hai.
Bahut chhota chunk retrieval ko kyun hurt karta hai?
Surrounding context kho jaata hai, toh embedding ambiguous hoti hai aur LLM ke paas reason karne ke liye kaafi nahi hota.
N tokens par overlap o aur size c ke saath chunks ki sankhya ka formula?
M=⌈(N−o)/(c−o)⌉
Boundary ke paas s tokens ke span ko intact rakhne ke liye minimum overlap kitna chahiye?
Semantic chunking boundaries kaise decide karta hai?
Jab consecutive sentence embeddings ke beech cosine distance ek threshold se zyada ho jaaye (topic shift), tab naya chunk shuru hota hai.
Small-to-big / parent-document retrieval kya hai?
Matching ke liye chhote precise chunks index karo lekin context ke liye unka bada parent chunk return karo.
Characters ki jagah tokens par chunk kyun karo?
Embedding models aur context windows tokens count karte hain (~4 chars/token English mein, language/code ke hisaab se alag), toh char limits model se mismatch karti hain.