İçeriğe atla
Makale

RAG (Retrieval-Augmented Generation) Nedir? Nasıl Çalışır?

RAG'in nasıl çalıştığını, embedding ve vektör veritabanını, hibrit aramayı, fine-tuning ile farkını, değerlendirmeyi ve erişim güvenliğini anlattık.

Oğuzhan Gerçek··8 dk okuma
RAG (Retrieval-Augmented Generation) Nedir? Nasıl Çalışır?

Kısa cevap: RAG (retrieval-augmented generation), büyük dil modelinin cevap üretmeden önce kurum belgeleri gibi dış bir kaynaktan ilgili parçaları getirip prompt'a eklemesidir. Model yeniden eğitilmeden güncel ve kuruma özel bilgiyle cevap verir, kaynağını da gösterebilir. Belgeler parçalara bölünüp embedding modeliyle vektöre çevrilir ve vektör veritabanına yazılır; soruya en yakın parçalar benzerlik aramasıyla bulunur. Fine-tuning modelin davranışını ve biçimini değiştirir; RAG ise modele dokunmadan cevaba güncel bilgi ekler. Güvenlikte temel kural, kullanıcının göremeyeceği bir belgeden cevap üretilmemesidir.

RAG nedir, ne demek?

RAG, retrieval-augmented generation ifadesinin kısaltması. Terim, Patrick Lewis ve arkadaşlarının NeurIPS 2020'de yayımlanan makalesinden geliyor. Makalenin özetine göre dil modelleri olgusal bilgiyi parametrelerinde saklıyor, ama bu bilgiye erişip onu hassas biçimde kullanma yetenekleri hâlâ sınırlı. Yazarların çözümü, bu parametrik belleği önceden eğitilmiş bir getiricinin (retriever) eriştiği bir vektör indeksiyle birleştirmek.

AWS'ye göre RAG'de model, cevap üretmeden önce eğitim verisinin dışındaki yetkili bir bilgi tabanına başvurur. Microsoft da onu, cevapları kurumun kendi içeriğine dayandıran (grounding) bir desen olarak tanımlıyor.

RAG neden gerekli?

LLM yazımızda anlattığımız sınırlar RAG'in çıkış noktası:

  • Kesim tarihi: AWS'ye göre eğitim verisi durağandır ve modelin bilgisine bir kesim tarihi koyar; RAG yeni bilgiyi yeniden eğitimden daha düşük maliyetle ekler.
  • Halüsinasyon: Google Cloud'a göre olguları prompt'un içinde vermek halüsinasyonu azaltabilir.
  • Kurum verisi: OpenAI, gereken bilgi eğitim setinde yoksa, eskimişse ya da kuruma özelse bağlamın zenginleştirilmesini öneriyor.

RAG nasıl çalışır?

İlk aşama, sorular gelmeden yapılan hazırlıktır:

  1. Belge toplama: Microsoft'a göre kurum içeriği SharePoint, veritabanı ve blob depolama gibi kaynaklara dağılmış durumda; içerik oradan çekilip metne çevrilir (ETL yazımız).
  2. Parçalama (chunking): Belgeler, embedding ve dil modellerinin token sınırına sığacak parçalara bölünür. Azure AI Search belgesi başlangıç için 512 token'lık parçalar ve %25 (128 token) örtüşme öneriyor.
  3. Embedding: OpenAI'ın tanımıyla embedding, kayan noktalı sayılardan oluşan bir vektördür; iki vektör arasındaki uzaklık metinlerin ne kadar ilişkili olduğunu ölçer.
  4. İndeksleme: Vektörler, parçanın metni ve kaynağıyla birlikte vektör veritabanına yazılır.

İkinci aşama her soruda tekrarlanır: AWS'ye göre soru da vektöre çevrilip veritabanıyla eşleştirilir, bulunan parçalar prompt'a bağlam olarak eklenir ve model cevabını bu bağlama dayandırır; parçanın kaynağı da cevaba taşınır. AWS, belge değiştikçe embedding'in de güncellenmesini istiyor. Örnekteki embed, ara ve llm, modeller ve veritabanı için yer tutucu işlevler:

def cevapla(soru, kullanici, embed, ara, llm):
    vektor = embed(soru)
    parcalar = ara(vektor, k=5, gruplar=kullanici.gruplar)
    baglam = "\n\n".join(p.metin for p in parcalar)
    prompt = (f"Yalnız şu kaynaklara dayanarak cevap ver:\n{baglam}"
              f"\n\nSoru: {soru}")
    return llm(prompt), [p.kaynak for p in parcalar]

Embedding ve vektör veritabanı

Google Cloud'a göre vektör veritabanı belgeleri yüksek boyutlu bir uzayda embedding olarak saklar ve anlamsal benzerliğe göre hızlı erişim sağlar. AWS'ye göre bu sistemler çoğunlukla HNSW ve IVF gibi algoritmalarla kurulan k-NN indekslerine dayanır ve metadata filtresine izin verir. Ödünleşim isabette: pgvector belgesine göre indekssiz tam arama eksiksiz isabet (recall) verir, yaklaşık indeksler ise hız için isabetin bir kısmından vazgeçer. Başlıca seçenekler şunlar:

  • Veritabanı eklentisi: pgvector vektörleri PostgreSQL'de öteki verinin yanında tutar (PostgreSQL yazımız).
  • Vektöre özel veritabanı: Açık kaynak örnekler arasında Apache 2.0 lisanslı, Kubernetes'e dağıtık kurulabilen Milvus ve anlamsal aramayı sözcüksel aramayla birleştirebilen Qdrant var.
  • Arama motoru ya da yönetilen hizmet: OpenSearch vektör aramayı arama motorunun içinde sunar; Azure AI Search vektör ve anahtar kelime sorgusunu aynı istekte çalıştırır.

Hibrit arama ve yeniden sıralama (reranking)

Vektör araması anlamca yakın içeriği kelimeler eşleşmese de bulur; ama Microsoft'a göre ürün kodu, jargon, tarih ve kişi adı içeren sorgularda tam eşleşmeyi yakalayan anahtar kelime araması daha iyi sonuç verir. Hibrit arama ikisini tek sorguda kullanır: Azure AI Search, BM25 ile sıralanan tam metin sonuçlarını ve vektör sonuçlarını Reciprocal Rank Fusion (RRF) ile tek listede topluyor. pgvector'de aynı iş PostgreSQL'in tam metin aramasıyla yapılıyor.

Google Cloud'a göre embedding'ler yalnız anlamsal benzerliğe bakar; yeniden sıralama modeli ise ilk aramadan gelen adayları, sorguyu ne kadar iyi cevapladıklarına göre 0 ile 1 arasında puanlayıp yeniden dizer.

RAG mi fine-tuning mi?

Microsoft'un tanımıyla fine-tuning, önceden eğitilmiş bir modeli göreve özel veriyle ek eğitimden geçirip o göreve uyarlamaktır. İki yöntem farklı sorunları çözer:

  • RAG: Eksik, eskimiş ya da kuruma özel bilgiyi cevap anında bağlama ekler. Model değişmez; belge güncellenince cevap da güncellenir.
  • Fine-tuning: Microsoft'a göre cevabın tutarlı bir ton, biçim ya da şemaya uymasını sağlar; ama eğitim ve barındırma maliyeti ekler ve güncel bilgi için getirmenin (retrieval) yerini tutmaz.

OpenAI'a göre iki yöntem birbirinin alternatifi değil, üst üste eklenebilir. Fine-tuning'in veri setleri ve model sürümleri MLOps yazımızda anlattığımız yaşam döngüsüne girer.

RAG nasıl değerlendirilir?

Bir RAG sistemi iki yerde yanılabilir: yanlış parçayı getirir ya da doğru parçayı yanlış kullanır. RAGAS çalışması bu yüzden üç boyuta bakıyor: getiricinin ilgili ve odaklı bağlamı bulması, modelin bu bağlama sadık kalması ve cevabın kalitesi. Ölçütler, etiketli doğru cevap (ground truth) gerektirmiyor. Microsoft'un değerlendiricileri de cevabın bağlamda olmayanı uydurmamasını (groundedness), getirilen parçaların soruyla ilgisini (retrieval) ve etiketli doğru belgelere göre arama kalitesini (document retrieval) ayrı ayrı ölçüyor. Pratikte gerçek sorulardan bir test seti tutulur; parçalama, model ya da prompt değiştikçe yeniden koşulur.

Güvenlik ve erişim: belge düzeyinde yetki

Temel kural, kullanıcının göremeyeceği bir belgeden cevap üretilmemesi. Microsoft'a göre Azure AI Search, kullanıcı ya da grup kimliğini taşımayan eşleşmeleri sonuçtan çıkarabiliyor (security trimming); ama kaynaktaki izin değişikliği indekse senkronize edilene kadar sonuçlara yansımıyor (IAM yazımız).

OWASP'ın LLM uygulamaları listesinde bu konunun ayrı bir maddesi var: "Vector and Embedding Weaknesses", 3 Ağustos 2026 tarihli 2026 sürümünde LLM09, 2025 sürümünde LLM08. 2025 maddesindeki riskler ve önlemler şunlar:

  • Yetkisiz erişim: Eksik erişim kontrolü hassas embedding'leri açığa çıkarabilir; önlem, izinleri bilen (permission-aware) vektör depoları ve veri setlerinin sıkı bölümlenmesi.
  • Tersine çevirme (inversion): Saldırgan embedding'i tersine çevirip kaynak bilginin önemli bir kısmını elde edebilir; bu yüzden vektörler de kaynak belgeler kadar korunmalı.
  • Zehirlenme: OWASP'ın örneğinde beyaz zemine beyaz yazılmış gizli talimat taşıyan bir özgeçmiş, RAG tabanlı bir eleme sisteminin kararını değiştiriyor; önlem, belgeyi bilgi tabanına girmeden doğrulamak (veri zehirlenmesi yazımız).
  • Log: Getirme işlemleri ayrıntılı ve değiştirilemez loglarla kaydedilir (log yazımız).

USENIX Security 2025'te yayımlanan PoisonedRAG çalışmasında milyonlarca metinlik bir bilgi tabanına hedef soru başına beş zehirli metin eklemek %90 saldırı başarısı sağladı; yazarlar mevcut savunmaları yetersiz buldu. Belgelerde kişisel veri varsa yükümlülükleri KVKK yazımızda, verinin işlendiği ülke sorusunu yurt dışına aktarım yazımızda anlattık; veri sınıflandırmasını veri güvenliği ve DLP hizmetimizde ele alıyoruz.

Altyapı ve işletim

Modelleri kendi altyapınızda çalıştıracaksanız çıkarım (inference) kapasitesi gerekir (GPU yazımız). Bilgi tabanını güncel tutmak, değerlendirme setini koşmak ve model sürümlerini izlemek ise MLOps işi. Microsoft'un "agentic retrieval" yaklaşımında bir LLM karmaşık soruyu alt sorulara bölüp paralel arar; ajanların (AI agent) araçlara bağlanmasını AI agent ve MCP yazılarımızda anlattık. Vektör veritabanının işletimini veritabanı platform mühendisliği, bütün katmanın tasarımını AI stack tasarımı ve mühendisliği hizmetimizde ele alıyoruz.

Sık sorulan sorular

RAG ne demek? Retrieval-augmented generation'ın kısaltması: dil modeli cevap vermeden önce dış bir kaynaktan ilgili parçaları getirir ve cevabını bunlara dayandırır.

Vector database (vektör veritabanı) nedir? Embedding vektörlerini saklayıp bir sorguya anlamca en yakın kayıtları hızla bulan veritabanıdır. Ayrı bir ürün ya da pgvector gibi bir eklenti olabilir.

Embedding nedir? Metni sayılardan oluşan bir vektöre çeviren temsildir. İlişkili metinlerin vektörleri birbirine yakın düşer ve benzerlik araması bu yakınlığı ölçer.

Fine-tuning nedir, RAG'den farkı ne? Fine-tuning, önceden eğitilmiş modeli göreve özel veriyle ek eğitimden geçirip uyarlamaktır; ton ve biçim tutarlılığı sağlar. RAG ise modeli değiştirmeden güncel bilgiyi cevap anında ekler.

RAG mimarisi nedir? Belge toplama ve parçalama hattı, embedding modeli, vektör veritabanı, arama katmanı ve dil modelinden oluşan yapıdır; erişim kontrolü, log ve değerlendirme de bu yapıya dahildir.

Kaynaklar