RAG nedir? Retrieval Augmented Generation açıklaması
AI'ı kendi verilerinle beslemek istiyorsan RAG bilmen gereken ilk kavram. Vektör DB, embedding, chunk — hepsi burada.
RAG nedir?
RAG (Retrieval Augmented Generation), bir AI modelinin yanıtını oluştururken harici bir bilgi kaynağından ilgili bilgileri çekip kullanmasıdır.
Problem
LLM'ler eğitim verisiyle sınırlıdır:
- Bilgi güncel olmayabilir (cutoff date)
- Şirketine özel bilgileri bilmez
- Hallucination (uydurma) riski vardır
Çözüm: RAG
1. Veri hazırlığı: Dokümanlarını küçük parçalara böl (chunking)
2. Embedding: Her chunk'ı sayısal vektöre çevir
3. Vektör DB: Vektörleri bir veritabanına kaydet (Pinecone, Qdrant, pgvector)
4. Retrieval: Kullanıcı sorusu geldiğinde, soruyu da vektöre çevir, en benzer chunk'ları bul
5. Generation: Bulunan chunk'ları LLM'e context olarak ver, yanıt üret
Basit Mimari
Kullanıcı sorusu
↓
[Embedding]
↓
[Vektör DB arama]
↓
En ilgili 3-5 chunk
↓
[LLM] + chunk'lar → Yanıt
Ne Zaman RAG Kullanmalı?
- Güncel bilgi gerektiğinde (haberler, fiyatlar, stok)
- Şirket içi dokümanlara dayalı yanıt üretmek istediğinde
- Hallucination'ı azaltmak istediğinde
- Kaynak göstermek istediğinde (her chunk'ın kaynağını tutar)
RAG vs Fine-tuning vs Long Context
| Yöntem | Ne zaman | Avantaj | Dezavantaj |
| -------- | ---------- | --------- | ------------ |
| RAG | Büyük ve değişen veri seti | Güncel kalır | Retrieval kalitesine bağlı |
| Fine-tuning | Sabit format/ton | Hızlı inference | Pahalı, güncellenmesi zor |
| Long context | Az ve özel veri | Basit mimari | Token maliyeti yüksek |
Sonuç
RAG, AI'ı kendi verinle çalıştırmanın en pratik yoludur. Karmaşık görünür ama temel adımları basittir: böl, vektörle, ara, üret. Başlamak için pgvector + Supabase ile bir PoC (proof of concept) 2 saat sürer.