RAG nedir?
Bu derste yapay zekânın en yaygın tekniklerinden biri olan RAG kavramını sıfırdan işliyoruz: ne işe yarar, nasıl çalışır, fine-tuning ile farkı nedir ve kurarken hangi yanılgılara düşülür. Konunun genel çerçevesini görmek istersen Yapay Zekâ dersleri sayfasından serinin tamamına ulaşabilirsin.
RAG (Retrieval-Augmented Generation) Nedir?
RAG, bir yapay zekâ modelinin soruyu yanıtlamadan ya da metin üretmeden önce dış bir bilgi kaynağından ilgili bilgileri getirmesi (retrieval) ve cevabını bu bilgileri temel alarak üretmesi (generation) tekniğidir. Türkçeye “bilgi getirerek desteklenmiş üretim” olarak çevrilebilir. Kısacası model, kendi ezberine güvenmek yerine sana ait bir bilgi havuzundan bakarak yanıtlar.
Bunu açık kitap sınavına benzetebilirsin: Öğrenci (model) soruyu yalnızca hafızasından değil, önündeki kitaptan (belge havuzundan) kontrol ederek yanıtlar. Kitabı kim seçiyorsa (RAG sistemi) hangi sayfanın önemli olduğunu da belirler.
RAG Neden Gereklidir?
Büyük dil modelleri yalnızca eğitildikleri veriyi bilir. Bu, üç somut sorun doğurur:
- Bilgi kesim tarihi: Model, eğitim verisinin toplandığı tarihten sonraki gelişmeleri bilmez.
- Halüsinasyon: Model, bilmediği konularda kendinden emin görünen ama yanlış bilgiler üretebilir.
- Özel bilgi: Şirketin iç dokümanları, ürün kılavuzları veya ders notları modelin eğitim verisinde yer almaz.
RAG bu üç soruna tek bir yolla çözüm getirir: doğru bilgi, doğru anda modele bağlam olarak verilir. 2024-2025 döneminde kurumların yapay zekâ asistanlarının önemli bölümü bu yüzden RAG üzerine kuruludur; çünkü modeli yeniden eğitmek yerine kendi belgeleriyle konuşan bir sistem kurmak çok daha hızlı ve ucuzdur.
RAG Nasıl Çalışır? Adım Adım
RAG iki aşamalı çalışır: bir kez yapılan hazırlık ve her soruda tekrarlanan sorgu.
Hazırlık aşaması
- Belgeler toplanır: PDF dosyaları, web sayfaları, veritabanı kayıtları, iç wiki sayfaları vb.
- Parçalara bölünür (chunking): Uzun belgeler, birkaç yüz kelimelik anlamlı parçalara ayrılır.
- Embedding üretilir: Her parça, anlamını temsil eden bir sayı dizisine (vektöre) dönüştürülür.
- Vektör veritabanına yazılır: Parçalar, vektörleriyle birlikte saklanır.
Sorgu aşaması
- Kullanıcının sorusu da aynı yöntemle vektöre dönüştürülür.
- Soru vektörü, veritabanındaki parça vektörleriyle karşılaştırılır; anlamca en yakın birkaç parça seçilir.
- Seçilen parçalar soruyla birlikte modele gönderilir: “Bu bilgilere dayanarak cevap ver.”
- Model cevabı bu belgelere dayanarak üretir; iyi kurulan sistemler hangi kaynaktan yararlanıldığını da gösterir.
Temel bileşenler
- Embedding: Metnin anlamını sayısal vektöre çevirme. Anlamsal aramanın temelidir; “otomobil” ile “araba” farklı kelimeler olsa da vektörleri birbirine yakındır.
- Vektör veritabanı: Vektörler üzerinde hızlı benzerlik araması yapan özel veritabanı (ör. pgvector, Chroma, Pinecone).
- Retriever (getirici): Soruya en uygun parçaları bulan bileşen.
- Üretici model: Getirilen bilgiyle nihai cevabı yazan dil modeli. Bu modele çoğu sistem bir API üzerinden erişir; temel kavram için API nedir? dersimize bakabilirsin.
RAG ile Fine-Tuning Arasındaki Fark
İkisi de modele yeni yetkinlik kazandırma yollarıdır ama mantıkları birbirinin tersidir:
- RAG: Bilgi, modelin dışında tutulur; her soruda ilgili parça çekilip bağlam olarak sunulur. Bilgi her an güncellenebilir, cevaplar kaynağıyla doğrulanabilir.
- Fine-tuning: Bilgi ve davranış, eğitim yoluyla modelin ağırlıklarına işlenir; sonradan ekstra belge verilmez.
Pratik kural: sık değişen, kaynak gösterilmesi gereken bilgi için RAG; sabit üslup, format ve alan davranışı için fine-tuning. İkisi birlikte de kullanılır. Fine-tuning konusunun tamamı için Fine-tuning nedir? dersine göz at.
RAG Nerelerde Kullanılır?
RAG artık ayrı bir akademik teknik olmaktan çok, yapay zekâ ürünlerinin görünmeyen omurgasıdır:
- Kurumsal bilgi asistanları: Çalışanlar şirket içi dokümanlara doğal dille soru sorar.
- Müşteri destek botları: Cevaplar ürün kılavuzuna ve resmî SSS sayfasına dayandırılır.
- Belge soru-cevap: Sözleşme, makale veya teknik doküman üzerine soru yanıtlama.
- Kod asistanları: Proje dosyalarında arama yapıp üretimi buna göre yönlendirme; AI ile kod yazma dersindeki araçların önemli bölümü bu mantığı kullanır.
- Ajan belleği: AI agent nedir? dersinde anlattığımız ajanlar, RAG'i bir araç gibi kullanır; ajanların “uzun süreli hafızası” çoğu zaman bir RAG sistemidir.
Sık Yapılan Hatalar ve Yanılgılar
- “RAG halüsinasyonu tamamen önler.” Hayır, azaltır. Yanlış ya da alakasız belge getirilirse model yine hatalı cevap üretebilir.
- “RAG ile fine-tuning aynı şeydir.” Değildir; biri bilgiyi dışarıda tutar, diğeri içine işler. İhtiyaca göre seçilir.
- “Belgeleri olduğu gibi dökeyim, sistem çalışır.” Parça boyutu, belge kalitesi ve metin temizliği cevap kalitesini doğrudan belirler. Dağınık ve tekrarlı içerik, kötü cevapların başlıca sebebidir.
- “Anahtar kelime aramasıyla aynı.” RAG anlamsal arama kullanır; kullanıcı “iade” diye yazdığında “geri ödeme” parçası da eşleşebilir.
- Kaynak göstermemek: Cevabın hangi belgeye dayandığını söylememek güveni azaltır, hata ayıklamayı imkânsızlaştırır.
Model seçerken hangi dil modelinin bu göreve uygun olduğunu merak ediyorsan yapay zekâ modeli karşılaştırma dersimize; açık kaynak ve kapalı modellerin bu kurulumdaki yeri için açık kaynak yapay zekâ modelleri ile kapalı yapay zekâ modelleri derslerine bakabilirsin.
Sık Sorulan Sorular
RAG nedir?
RAG (Retrieval-Augmented Generation), bir yapay zekâ modelinin yanıt üretmeden önce dış bir bilgi kaynağından ilgili bilgileri getirmesi ve cevabını bu bilgilerle desteklemesi tekniğidir. Böylece model yalnızca kendi eğitim verisiyle sınırlı kalmaz.
RAG ile fine-tuning arasındaki fark nedir?
RAG bilgiyi modelin dışında tutar ve her soruda ilgili parçayı bağlam olarak verir; fine-tuning ise bilgiyi ve davranışı eğitimle modelin içine işler. Güncel ve kaynak gösterilebilir bilgi için RAG, sabit üslup ve davranış için fine-tuning uygundur.
RAG halüsinasyonu tamamen önler mi?
Hayır, azaltır. Model cevabını uydurmak yerine getirilen belge parçalarına dayandırır; bu hata oranını düşürür. Ancak yanlış veya konu dışı belge getirilirse model yine yanlış yanıt üretebilir.