Chunking
Belge Parçalama
Uzun bir dokümanı, embedding olarak saklanıp aranabilen daha küçük parçalara bölme süreci — RAG'in görünmez ama kritik adımı.
LLM'lerin bağlam penceresi sınırlı, embedding modelleri tek seferde en fazla birkaç bin token alabilir. 500 sayfalık bir PDF'i tek başına embed edemezsin. Parçalama (chunking), dokümanı mantıklı küçük parçalara bölme işlemidir; her parça ayrı embed edilir, ayrı saklanır, ayrı aranır.
Kritik parametreler: - Parça boyu (chunk size — genelde 200-1000 token): çok küçük olursa bağlam kaybolur, çok büyük olursa arama hassasiyeti düşer. - Çakışma (overlap — genelde %10-20): parça sınırında kesilen cümle/fikir kaybolmasın diye komşu parçaların biraz örtüşmesi. - Bölme stratejisi: cümle, paragraf, başlık, anlamsal sınır ya da sabit token sayısı.
RAG kalitesinin yaklaşık %50'si parçalamaya bağlıdır. "Kötü arama" şikayetlerinin büyük çoğunluğu aslında "kötü parçalama" sorunudur.
Bir kitabı kütüphaneye eklemek istiyorsun. Tüm kitabı tek raf kartına yazsan kimse spesifik bir konu aradığında bulamaz ("bu kitap her şey hakkında" demek bilgi vermez). Her sayfayı ayrı kart yapsan da bağlam parçalanır. Doğrusu: bölüm bazında, içindekiler tablosunu da koyarak parçala.
Bir hukuk firmasının 200 sayfalık sözleşme arşivi var. Saf yaklaşım: her sözleşmeyi tek belge olarak embed et. Sorgu: "kira artış oranı". 5 sözleşme dönüyor — ama hangi sayfada? Kullanıcı tüm sözleşmeyi baştan okumak zorunda.
Parçalama sonrası: her sözleşme 30 parça (her biri ~500 token, %15 çakışmalı). Aynı sorgu artık 5 belirli parça döndürüyor: "kira bedeli yıllık TÜFE oranında artırılır" gibi. Kullanıcı 3 saniyede cevaba ulaşıyor.
- RAG kuruyorsun ve dokümanların 1000'den fazla token içeriyor
- Geniş bilgi tabanı (wiki, kılavuz, sözleşme arşivi)
- Sayfa içi gezinme (kullanıcıya 'bu cevap şu sayfanın §3.2 bölümünden' diyebilmek)
- Kısa dokümanlar (< 1000 token) — bütününü embed et
- Çok yapısal veri (JSON, CSV) — parça yerine alan bazlı indeksleme kullan
- Tek seferlik soru-cevap, RAG yok — parçalama gereksiz
Sabit token boyunda kesmek
Cümleyi tam ortasından bölünce bağlam ölür. Örn: 'kira artar' parça-1'de, '… ancak yıllık olarak' parça-2'de — her ikisi de yanıltıcı. Cümle ve paragraf sınırlarına saygı göster.
Çakışma (overlap) yok
Sınır yakınındaki bilgi sürekli kaybolur. %10-20 çakışma (ya da anlamsal parçalama) standart uygulamadır.
Tek strateji her şeye uymaz
Hukuk dokümanı, kod, blog yazısı — hepsi farklı parçalama ister. Hukuk: madde bazlı. Kod: fonksiyon bazlı. Blog: paragraf + başlık. Tek formül yok.