RAG Veri Hazırlama: Yapay Zeka Sisteminin Başarısını Belirleyen Temel
RAG sistemleri için doküman parsing, chunking stratejileri, bağlamsal zenginleştirme ve embedding optimizasyonunu kapsayan kapsamlı kılavuz
Çoğu RAG implementasyon başarısızlığı retrieval mimarisine değil, veri hazırlamaya dayanıyor. Ekipler retrieval parametrelerini haftalarca ayarlarken asıl problem kötü parse edilmiş dokümanlar veya uygunsuz chunking oluyor. Bu kılavuz, RAG sisteminizin kalite tavanını belirleyen kritik temeli kapsıyor.
Veri Hazırlama Neden En Kritik RAG Adımı
RAG implementasyonlarında yaygın bir pattern var: sofistike retrieval mimarileri (hybrid search, reranking, CRAG) hala kötü sonuçlar üretiyor. Kök neden neredeyse her zaman veri hazırlama katmanında.
Önemli kavrayış: veri hazırlama %60 kalitede başarısız olursa, hiçbir mimari sofistikasyonu retrieval kalitesini bu tavanın üzerine çıkaramaz. Ekipler sadece veri hazırlamayı düzelterek %40-60 kalite iyileştirmesi rapor ediyor, çoğu zaman retrieval mantığına dokunmadan.
Doküman Parsing: Karışık Kaynaklardan Temiz Metin Çıkarma
Gerçek dünya dokümanları karışık. PDF'ler metni mantıksal diziler yerine konumlandırılmış glifler olarak saklar. Tablolar bozulur. Çok kolonlu düzenler layout analizi gerektirir. Taranmış dokümanlar %5-15 hata oranlarıyla OCR gerektirir.
Parsing Araç Seçimi
*Unstructured basit tablolarda %100, karmaşık yapılarda %75 başarır
Pratik PDF Parsing
HTML İçerik Çıkarma
Tip: LLM tabanlı parsing'e başvurmadan önce kural tabanlı parsing ile başla. Hybrid yaklaşımlar kullan: yapı için heuristikler, sadece en zorlu elementler için Vision-Language Model'ler.
Metin Ön-İşleme: Embedding Kalitesi İçin Temizlik
Embedding'ler sinyalle birlikte gürültüyü de encode eder. Tutarsız formatlama sahte benzerlik yaratır. Embedding'lerdeki PII güvenlik riski oluşturur. Ön-işleme bu sorunları pipeline'a yayılmadan önce kaldırır.
Deduplikasyon
Neredeyse aynı içerik depolama israf eder ve retrieval sonuçlarını çarpıtır. MinHash LSH verimli yakın-kopya tespiti sağlar:
Chunking Stratejileri: Dokümanları Bölme Sanatı
Chunking bilginin retrieval için nasıl organize edildiğini belirler. Temel gerilim: çok küçük bağlamı kaybeder, çok büyük alaka sinyalini seyreltir.
Strateji Karşılaştırması
Recursive Character Splitting (Önerilen Varsayılan)
Semantik Chunking
Hiyerarşik Parent-Child Chunking
Chunk Boyutu Kılavuzu
Bağlamsal Chunking: Kayıp Bağlam Problemini Çözme
Geleneksel chunking doküman bağlamını yok eder. "Bu yaklaşım gecikmeyi %40 azaltır" diyen bir chunk, hangi yaklaşım olduğunu bilmeden işe yaramaz. Bağlamsal chunking bunu ele alır.
Anthropic'in Contextual Retrieval Tekniği
Kural Tabanlı Bağlam (Sıfır Maliyet Alternatifi)
Embedding Model Seçimi
Doğru embedding modelini seçmek içerik tipine, chunk boyutuna ve deployment kısıtlamalarına bağlı. MTEB skorları modeller güncellendikçe ve yeni benchmark'lar eklendikçe sık değiştiğinden, karar vermeden önce güncel skorları doğrulamayı unutmayın.
Embedding Optimizasyonu
Metadata Çıkarma ve Zenginleştirme
Metadata semantik aramadan önce filtreleme sağlar, sıralama sinyalleri verir ve kaynak atıfını destekler.
Otomatik Çıkarma
Vektör Veritabanı ile Saklama
Veri Hazırlama İçin Kalite Metrikleri
Veri kalitesini ölçmek veri odaklı optimizasyon ve erken sorun tespiti sağlar.
Yaygın Tuzaklar ve Çözümler
Tuzak 1: Parsing Doğrulamasını Atlama
Parsing araçlarının tüm dokümanlarda mükemmel çalıştığını varsaymak, retrieval sonuçlarında eksik içerik ve bozuk tablolara yol açar. Tam ingestion'dan önce temsili örneklerde parsing çıktısını her zaman doğrula.
Tuzak 2: Tek Beden Herkese Uyan Chunking
Tüm içerik tipleri için aynı chunk boyutunu kullanmak, kodun fonksiyon ortasında bölünmesine ve tabloların bağlam kaybetmesine neden olur. Chunking stratejisini içerik yapısına eşleştir.
Tuzak 3: Kayıp Bağlamı Görmezden Gelme
"O", "bu yöntem", "yukarıda belirtildiği gibi" gibi referanslar içeren chunk'lar izolasyonda anlamsız hale gelir. Chunk'ları kendi kendine yeterli yapmak için bağlamsal chunking (LLM veya kural tabanlı) implement et.
Tuzak 4: Modelleri Sadece Benchmark'a Göre Seçme
MTEB skorları belirli içerikteki performansı yansıtmaz. Yüksek benchmark'lı bir model alan-spesifik sorgularda kötü performans gösterebilir. Embedding modellerini kendi test sorgularınızda değerlendirin.
Tuzak 5: Yanlış Sırada İşleme
Temizlikten önce chunking veya deduplikasyondan önce embedding yapmak gürültülü sonuçlar üretir. Pipeline'ı takip et: parse -> temizle -> dedupe -> chunk -> zenginleştir -> embed.
Pipeline'ınızı Oluşturma: Pratik Bir Yaklaşım
Veri hazırlamayı ele alma sırası önemli. Pipeline'ınızı nasıl oluşturacağınızı şöyle düşünün.
Parsing doğrulamasıyla başlayın. Herhangi bir pipeline kodu yazmadan önce, 10-20 temsili doküman için parsing çıktısını manuel olarak inceleyin. Bozuk tablolar, eksik bölümler ve karışık metin arayın. Parser'ınız örneklerin %30'unda başarısız oluyorsa, hiçbir downstream optimizasyonu sizi kurtaramaz.
Ardından, ön-işleme temelinizi oluşturun. Metninizi normalizasyon, PII tespiti ve şablon temizliğinden geçirin. Öncesi/sonrası örnekleri karşılaştırın. Hedef, anlamlı içerik kaybetmeden temiz, tutarlı metin elde etmektir.
Sonra, parsing'den öğrendiklerinize dayanarak chunking stratejinizi seçin. Dokümanlarınızda net hiyerarşik yapı varsa (başlıklar, bölümler), yapı-duyarlı chunking ile bundan yararlanın. Yoğun teknik metin ise recursive splitting dostunuzdur. Karışık içerik tipleriyle uğraşıyorsanız, farklı doküman tiplerini farklı stratejilere yönlendirmeyi düşünün.
Bağlam eklemek ancak chunking düzgün çalıştıktan sonra gelir. Bağlamsal zenginleştirme güçlüdür ama maliyet ve karmaşıklık ekler. Önce temel pipeline'ınızın makul sonuçlar üretmesini sağlayın, sonra bağlamsal chunking'in spesifik retrieval senaryolarınızı iyileştirip iyileştirmediğini ölçün.
Son olarak, metriklerle döngüyü kapatın. Tutarlılık ve sınır kalitesi kontrolleri implement edin. Bilinen ilgili chunk'larla küçük bir test sorgu seti oluşturun. Parametreleri ayarlarken haftalık retrieval değerlendirmeleri yapın. Ölçüm olmadan tahmin yapıyorsunuz demektir.
Anahtar kavrayış: her adım bir öncekinin doğru çalışmasına bağlıdır. Her şeyi aynı anda implement etme dürtüsüne karşı koyun. Anladığınız basit bir pipeline, debug edemediğiniz karmaşık bir pipeline'dan iyidir.
Ana Çıkarımlar
Veri hazırlama kalite tavanını belirler: En sofistike RAG mimarisi bile kötü hazırlanmış veriyi telafi edemez.
Parsing aşağı yöndeki her şeyi belirler: Kaliteli parsing araçlarına yatırım yap ve ilerlemeden önce çıktıyı doğrula.
Bağlam chunk boyutundan daha önemli: Bağlamsal chunking tek başına retrieval başarısızlıklarını %35, BM25 ile %49, reranking ile %67 azaltır.
Kalite metrikleri zorunlu: Pipeline boyunca parsing doğruluğu, chunk tutarlılığı ve retrieval kalitesini ölç.
Basit başla, ölç, geliştir: RecursiveCharacterTextSplitter ve kaliteli parsing ile başla. Sadece metrikler haklı çıkardığında karmaşıklık ekle.
Kaynaklar
- Anthropic: Introducing Contextual Retrieval - Performans benchmark'larıyla bağlamsal chunking araştırması
- LangChain Text Splitters Documentation - Chunking stratejileri için resmi dokümantasyon
- Docling: Document Parsing Library - Yüksek doğruluklu doküman parsing aracı
- MTEB Leaderboard - Model karşılaştırması için Massive Text Embedding Benchmark
- Qdrant Documentation - Metadata filtreleme destekli vektör veritabanı
- datasketch: MinHash LSH - Yakın-kopya tespit kütüphanesi
- spaCy: Industrial NLP - Named entity recognition ve metin işleme
- OpenAI Embeddings Guide - Matryoshka truncation ile embedding model dokümantasyonu