0Pricing
AI Agents · Ders

Parçalama Stratejileri (Sabit, Cümle, Anlamsal)

Getirme kalitesi açısından sabit boyutlu, cümle duyarlı ve anlamsal parçalama arasındaki ödünleşimleri öğrenin.

Parçalama Stratejileri (Sabit, Cümle, Anlamsal), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.

Neden Parçalamalı?

200 sayfalık bir PDF'yi tek bir vektör olarak gömemezsiniz — vektör, belirli sorgularla eşleşemeyecek kadar soyut olur. Belgeyi daha küçük parçalara (her biri yaklaşık 200-800 belirteç) ayırır, her parçayı gömer ve parça düzeyinde arama yaparsınız.

Sabit Boyutlu Parçalama

En basit yaklaşım — her N karakterde veya belirteçte bir bölün:

def fixed_chunks(text, chunk_size=1000, overlap=200):
    chunks = []
    i = 0
    while i < len(text):
        chunks.append(text[i:i + chunk_size])
        i += chunk_size - overlap
    return chunks

sample_text = "A" * 2500
chunks = fixed_chunks(sample_text, chunk_size=1000, overlap=200)
print(f"Split {len(sample_text)} characters into {len(chunks)} chunks")
for i, c in enumerate(chunks):
    print(f"Chunk {i+1}: {len(c)} chars")

Neden Örtüşme?

Örtüşme (genellikle parça boyutunun %10-20'si), sınırı aşan bir cümlenin en az bir parçada bütün hâlinde bulunmasını sağlar. Örtüşme olmazsa parçalara bölünen önemli bir bilgi getirilemeyebilir.

Cümle Tabanlı Parçalama

Cümle sınırlarından bölün — cümlenin ortasından asla kesmeyin:

import re

def sentence_chunks(text, max_chars=1000):
    sentences = re.split(r'(?<=[.!?])\s+', text)
    chunks = []
    current = ''
    for s in sentences:
        if len(current) + len(s) > max_chars and current:
            chunks.append(current.strip())
            current = s
        else:
            current += ' ' + s
    if current:
        chunks.append(current.strip())
    return chunks

sample_text = "This is sentence one. This is sentence two! Is this sentence three? Yes it is."
chunks = sentence_chunks(sample_text, max_chars=40)
for i, c in enumerate(chunks):
    print(f"Chunk {i+1}: {c!r}")

Özyinelemeli Bölme (LangChain)

LangChain'in RecursiveCharacterTextSplitter bileşeni önce paragraf sınırlarından, ardından cümlelerden ve son olarak sözcüklerden bölmeye çalışır — yapıyı mümkün olduğunca korur.

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
    chunk_size=800,
    chunk_overlap=100,
    separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_text(document)

Anlamsal Parçalama

Konunun değiştiği yerlerden bölün. Uygulamalar her cümleyi gömer ve ardışık cümlelerin gömme vektörleri birbirinden uzak olduğunda böler.

Hesaplanması daha yavaştır, ancak konu bütünlüğü olan parçalar üretir.

Markdown Farkındalıklı Parçalama

Markdown belgelerinde bölümleri bir arada tutmak için başlık sınırlarından bölün. Her parça, üst başlıklarını bağlam olarak devralır.

Kod Farkındalıklı Parçalama

Kaynak kodunda karakter sayısına göre değil, işlev ve sınıf sınırlarına göre bölün. tree-sitter gibi araçlar AST farkındalıklı parçalama yapmanızı sağlar.

Parça Boyutunu Seçme

Ödünleşimler:

  • Küçük parçalar (yaklaşık 200 belirteç) — eşleşmeler daha kesin olur, ancak yönetilecek parça sayısı artar
  • Büyük parçalar (yaklaşık 1000 belirteç) — her eşleşmede daha fazla bağlam bulunur, ancak kesinlik azalır

Varsayılan: %10-20 örtüşmeyle 500-800 belirteç.

Üst Veriyi Koruma

Her parçaya üst veri ekleyin:

  • Kaynak URL'si / dosya yolu
  • Sayfa numarası
  • Belge başlığı
  • Bölüm / başlık
  • Oluşturulma / güncellenme zaman damgaları

Filtreleme, kaynak gösterme ve yeniden sıralama için kullanışlıdır.

Bağlam İçeren Parçalar

Yeni bir teknik: her parçanın başına LLM tarafından oluşturulan tek satırlık bir bağlam ekleyin (örneğin, "Bu parça, geliri ele alan şirketin 2024 2. çeyrek mali raporundandır."). Getirme başarısını %30-50 artırır.

Üst ve Alt Parçalar

Kesin eşleşme için küçük parçaları dizine ekleyin, ancak bağlam için bunların LARGER üst paragrafını getirin:

  1. Cümle düzeyindeki parçaları gömün
  2. Eşleşme olduğunda üstteki 800 belirteçlik parçayı döndürün

Neden Örtüşme?

Parçalar neden genellikle %10-20 oranında örtüşür?

Özet

Yaklaşık 800 belirteçlik, %10 örtüşmeli özyinelemeli karakter bölmeyle başlayın. İhtiyaçlarınız arttıkça anlamsal ve yapısal farkındalık ekleyin.

Sıkça Sorulan Sorular

“Parçalama Stratejileri (Sabit, Cümle, Anlamsal)” dersi ücretsiz mi?

Evet — “Parçalama Stratejileri (Sabit, Cümle, Anlamsal)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.

“Parçalama Stratejileri (Sabit, Cümle, Anlamsal)” dersinde ne öğreneceğim?

Getirme kalitesi açısından sabit boyutlu, cümle duyarlı ve anlamsal parçalama arasındaki ödünleşimleri öğrenin. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

AI Agents öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Parçalama Stratejileri (Sabit, Cümle, Anlamsal)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?

Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. RAG Ne İşe Yarar (Bilgi Kesim Tarihi, Halüsinasyonlar)
  2. Parçalama Stratejileri (Sabit, Cümle, Anlamsal)
  3. Belge Kümesini Dizinleme
  4. FAISS veya Chroma ile Naif RAG Oluşturma
← AI Agents Sayfasına Dön