Kazanimlar:
- RAG'in modelin ağırlıklarını değiştirmeden bağlam enjekte ettiğini ve 'açık kitap sınavı' mantığıyla çalıştığını açıklamak
- RAG ile fine-tuning ve uzun bağlam yaklaşımlarını maliyet, güncellik ve kullanım senaryosuna göre karşılaştırmak
- İndeksleme ve sorgulama fazlarından oluşan tipik bir RAG boru hattının adımlarını sıralamak
Bir dil modeli (metni anlayıp üreten yapay zeka; bundan sonra kısaca model diyeceğiz) ne kadar güçlü olursa olsun, sizin şirketinizin dün imzaladığı sözleşmeyi, iç wiki (kurum içi bilgi tabanı) sayfanızı veya bu sabah yayınlanan sürüm notunu bilmez. Model, eğitildiği tarihe kadar olan genel bilgiyle sınırlıdır; buna "eğitim kesim tarihi" denir. İşte RAG (Retrieval-Augmented Generation, "erişimle-zenginleştirilmiş üretim") tam bu boşluğu doldurur: soruyla ilgili şirket dokümanlarını bulup modele bağlam (context, yani cevap üretirken okuyacağı ek metin) olarak verir ve cevabı bu bağlama dayandırarak ürettirir.
Bu ünitede RAG'in ne olduğunu, hangi alternatiflere göre ne zaman tercih edildiğini ve tipik bir RAG boru hattının (pipeline, yani baştan sona veri işleme hattı) adımlarını net biçimde göreceğiz. Sonraki tüm üniteler bu haritanın parçalarını tek tek derinleştirecek.
RAG'in Temel Fikri: Açık Kitap Sınavı
RAG'i tek cümleyle anlatalım: "Önce ilgili dokümanı bul, sonra o dokümanı modele okut, cevabı ona göre yazdır."
En yararlı benzetme şudur: RAG, modeli "kapalı kitap sınavı"ndan "açık kitap sınavı"na geçirir. Kapalı kitap sınavında öğrenci sadece ezberinden cevap verir; hatırlamadığını uydurma riski yüksektir. Açık kitap sınavında ise önüne konan kaynağa bakarak cevaplar. RAG'de model artık kendi belleğinden değil, sizin ona verdiğiniz güncel ve özel metinden cevaplar.
Kritik nokta: RAG modelin ağırlıklarını (weights, yani modelin öğrendiği milyarlarca sayısal parametre) değiştirmez. Modeli yeniden eğitmezsiniz. Her soruda, o soruyla alakalı metin parçalarını prompt'un (modele gönderilen talimat metni) içine enjekte edersiniz. Bu yüzden bir doküman güncellendiğinde modeli yeniden eğitmeniz gerekmez; sadece arama veritabanındaki ilgili kaydı yenilersiniz.
İpucu: RAG'in kalitesini iki soru belirler: (1) Doğru dokümanı buldun mu? (2) Model onu doğru okudu mu? Birincisi "retrieval kalitesi", ikincisi "generation kalitesi"dir. İkisi ayrı ölçülür ve ayrı iyileştirilir.
RAG mı, Fine-Tuning mi, Uzun Bağlam mı?
Kurumsal bir soruna çözüm ararken üç yol sıkça karışır. Farklarını netleştirelim. Fine-tuning, modelin ağırlıklarını sizin verilerinizle güncelleyip ona yeni bir davranış/üslup öğretmektir. Uzun bağlam (long context), tüm dokümanları hiç seçme yapmadan doğrudan prompt'a doldurmaktır.
Yaklaşım
Ne yapar
Ne zaman uygun
Maliyet / Risk
RAG
İlgili dokümanı bağlam olarak enjekte eder
Sık değişen, geniş, özel bilgi
Düşük; güncelleme kolay, kaynak gösterilebilir
Fine-tuning
Ağırlıkları yeni veriyle günceller
Sabit üslup/format/dil öğretme
Yüksek; her güncellemede yeniden eğitim gerekir
Sadece uzun bağlam
Tüm dokümanları prompt'a doldurur
Küçük, sabit doküman seti
Token maliyeti ve "orta kısmı kaybetme" riski artar
Kural olarak: Fine-tuning modele nasıl konuşacağını öğretir; RAG modele ne bileceğini verir. Çoğu kurumsal senaryoda önce RAG denenir, çünkü hem ucuz hem güncellenebilir hem de cevabın kaynağını gösterebilir. Uzun bağlam, doküman seti gerçekten küçük ve sabitse (örneğin 20 sayfalık tek bir kılavuz) makuldür; ama binlerce sayfada hem pahalıdır hem de model uzun metnin ortasındaki bilgiyi gözden kaçırabilir.
Tipik Bir RAG Boru Hattı
RAG iki ana fazdan oluşur: indeksleme (hazırlık, bir kez veya periyodik yapılır) ve sorgulama (her kullanıcı sorusunda çalışır).
Adım adım indeksleme (offline, kullanıcı beklemeden):
- Topla: Dokümanları kaynaklardan çek (PDF, wiki, ticket sistemi, veritabanı, e-posta).
- Parçala (chunking): Uzun metni yönetilebilir küçük parçalara böl.
- Embed et: Her parçayı embedding'e (metnin anlamını taşıyan sayı vektörü) çevir.
- Kaydet: Vektörleri, metinle ve metadata (kaynak, tarih, yetki bilgisi) ile birlikte vektör veritabanına yaz.
Adım adım sorgulama (online, kullanıcı beklerken):
- Kullanıcının sorusunu embedding'e çevir.
- Vektör veritabanından en benzer parçaları getir (retrieval).
- Bu parçaları + soruyu bir prompt şablonuna yerleştir.
- Modelden bağlama dayalı cevabı ve kaynaklarını al.
# Sorgulama fazının kavramsal taslağı (dile bağlı değil)soru = "Yıllık izin kaç gün?"soru_vektor = embed(soru)parcalar = vektor_db.ara(soru_vektor, top_k=4) # en benzer 4 parçaprompt = f"""Aşağıdaki BAĞLAM'ı kullanarak SORU'yu yanıtla.Cevap bağlamda yoksa "Bu konuda elimde bilgi yok" de. Uydurma.BAĞLAM:{parcalar}SORU: {soru}"""cevap = model.uret(prompt) # ör. model: claude-opus-4-8
Bu akış, sonraki ünitelerde tek tek açacağımız her aşamanın haritasıdır.
Zayıf Prompt / Güçlü Prompt
Aynı RAG bağlamıyla bile prompt'un kalitesi cevabı değiştirir.
Zayıf prompt (model uydurmaya açık, kaynak istemiyor):
Şu bilgiyi kullan ve yıllık izni söyle: {parcalar}. Soru: {soru}
Güçlü prompt (grounding + "bilmiyorum" izni + kaynak talebi):
Yalnızca aşağıdaki BAĞLAM'a dayanarak yanıtla. Bağlamda açık bircevap yoksa "Bu konuda dokümanlarda bilgi bulamadım" yaz; tahmin etme.Yanıtın sonunda dayandığın parçanın [Kaynak: dosya_adı] etiketini ekle.BAĞLAM:{parcalar}SORU: {soru}
Üç Mini Vaka
Vaka 1 — İK asistanı (İnsan Kaynakları). Bir şirketin 340 sayfalık İK el kitabı var ve çalışanlar günde ortalama 90 soru soruyor. Fine-tuning denenmiş ama el kitabı ayda bir güncellendiği için her seferinde yeniden eğitim gerekmiş; maliyet aylık binlerce doları bulmuş. RAG'e geçilince güncelleme "dokümanı yeniden indeksle" adımına inmiş (dakikalar) ve doğru-cevap oranı manuel ölçümde %71'den %93'e çıkmış.
Vaka 2 — Müşteri destek. Destek ekibi 12.000 çözülmüş ticket ve 800 yardım makalesine sahip. Temsilcinin bir yanıtı elle bulması ortalama 4 dakika sürüyormuş. RAG asistanı en alakalı 5 kaydı getirip taslak yanıt üretince süre 40 saniyeye inmiş; ama ekip "yanlış makaleyi getirip emin görünme" riskini fark edip kaynak gösterimini zorunlu kılmış.
Vaka 3 — Hukuk. Bir sözleşme ekibi "gizlilik maddesi hangi sözleşmelerde 5 yıl?" sorusunu soruyor. Uzun bağlam denemesinde 60 sözleşme tek prompt'a dolduruldu; model ortadaki iki sözleşmeyi atladı. RAG'le sadece ilgili maddeler getirilince hem token maliyeti %80 düştü hem de eksik atlama sıfırlandı.
Neden RAG'e İhtiyaç Var?
- Güncellik: Eğitim kesim tarihinden sonraki bilgilere erişirsiniz.
- Özel bilgi: İç dokümanlarınız hiçbir modelin eğitiminde yoktur; sadece siz verebilirsiniz.
- Doğrulanabilirlik: Cevabın kaynağını gösterebilirsiniz (citation) — denetim ve güven için şart.
- Halüsinasyon kontrolü: Model uydurmak yerine önüne konan metne dayanır.
- Maliyet: Fine-tuning'e göre çok daha ucuz ve hızlı devreye alınır.
Dikkat: RAG sihir değildir. Yanlış parça getirirseniz model yanlış cevaba "emin" görünerek varır. "Retrieval kalitesi = RAG kalitesi" cümlesini akılda tutun.
Sık yapılan hatalar
- RAG'i fine-tuning sanmak: RAG ağırlıkları değiştirmez; sadece bağlam ekler. Bu ikisini karıştırmak yanlış mimari seçtirir.
- "Bilmiyorum" iznini vermemek: Prompt modele boşluğu doldurma özgürlüğü bırakırsa uydurur.
- Kaynak göstermemek: Kaynaksız yanıt denetlenemez; kullanıcı yanlışı fark edemez.
- Her şeyi tek prompt'a doldurmak: Uzun bağlam ucuz görünür ama pahalıdır ve orta bilgiyi kaçırır.
- Retrieval'ı ölçmeden generation'a takılmak: Cevap kötüyse önce "doğru parça geldi mi?" sorulmalı.
Özetle
- RAG, soruyla ilgili dokümanları modele bağlam olarak enjekte eden bir yaklaşımdır; ağırlıkları değiştirmez ("açık kitap sınavı").
- Fine-tuning üslup/format öğretir, RAG güncel ve özel bilgi verir; uzun bağlam küçük sabit setlerde işe yarar. Çoğu senaryoda önce RAG denenir.
- Boru hattı iki fazlıdır: offline indeksleme (chunk + embedding + kaydet) ve online sorgulama (retrieval + prompt + üret).
- RAG güncellik, özel bilgi, doğrulanabilirlik, halüsinasyon kontrolü ve düşük maliyet sağlar.
- Sistemin kalitesi doğrudan retrieval kalitesine bağlıdır: yanlış parça, yanlış cevap demektir.
Uygulama görevi
Kendi ekibinizden gerçek bir bilgi kaynağı seçin (örneğin bir prosedür dokümanı veya SSS sayfası). (1) Bu kaynağa dair 5 gerçek soru yazın. (2) Her soru için doğru cevabın dokümanın hangi bölümünde olduğunu not edin — bu sizin "altın cevap" listeniz olur. (3) Yukarıdaki "güçlü prompt" şablonunu kullanarak, ilgili bölümü elle bağlam olarak yapıştırıp bir modele sorun. (4) Modelin verdiği cevabı altın cevapla kıyaslayın ve doğru/yanlış olarak işaretleyin. Bu, ilerideki ünitelerde otomatikleştireceğiniz değerlendirmenin elle yapılmış ilk hâlidir.
Kontrol listesi
- [ ] RAG'in ağırlıkları değiştirmediğini, sadece bağlam eklediğini bir cümleyle anlatabiliyorum.
- [ ] RAG, fine-tuning ve uzun bağlam arasındaki farkı ve hangisinin ne zaman uygun olduğunu ayırt edebiliyorum.
- [ ] İndeksleme (topla-parçala-embed-kaydet) ve sorgulama (embed-getir-prompt-üret) fazlarını sırayla sayabiliyorum.
- [ ] Prompt'a "bağlamda yoksa bilmiyorum de" ve "kaynak göster" talimatlarını neden eklediğimi biliyorum.
- [ ] "Retrieval kalitesi = RAG kalitesi" ilkesini kendi vakama uyarlayabiliyorum.