Ana içeriğe atla

Rehber

RAG (Retrieval Augmented Generation) Nedir, Nasıl Kurulur? 2026 Detaylı Rehber

Vector DB, embedding, chunking, retrieval, re-ranking, evaluation, güvenlik. 8 başlıkta production-ready RAG kurma rehberi.

Hızlı cevap

RAG (Retrieval Augmented Generation) 2026: vector DB, embedding, chunking, retrieval, re-ranking, evaluation 8 başlıkta detay.

T

Tolga Ege

Mobil & Web Yazılım Mimari, AI/SaaS Uzmanı

Yayın: 2026-05-229 dk

Giriş: "RAG kurmak" 7-aşamalı bir disiplin#

RAG (Retrieval Augmented Generation), LLM'in kendi training bilgisinin ötesinde şirket-spesifik dokümanlara "bakarak" cevap üretmesi. Amaç: hallucination düşür + güncel + özel bilgiyle yanıtla.
Bu yazıda RAG kurulumunu 8 başlık altında inceliyoruz: temel mimari, doküman pipeline + chunking, embedding stratejisi, vector DB seçimi, retrieval + re-ranking, generation + prompting, evaluation + observability, güvenlik + production.
2026 referans: RAG framework'leri olgun (LangChain, LlamaIndex, Haystack, custom). Vector DB pazarı hareketli (Pinecone, Weaviate, Qdrant, pgvector). Embedding modelleri OpenAI text-embedding-3-large, Cohere embed-v3, Voyage AI. Retrieval kalitesi 2024'e göre %30-50 arttı.

1. Temel mimari: 7 adım pipeline#

Adım 1 — Doküman toplama: PDF, Word, Confluence, Notion, Google Docs, Slack mesajları, ürün katalog, intranet sayfaları, Zendesk KB.
Adım 2 — Preprocessing: OCR (taranmış PDF), encoding düzeltme, tablo extraction (Camelot, Tabula), markdown'a çevirme. "Garbage in, garbage out" — bu adım kritik.
Adım 3 — Chunking: dokümanı parçalara böl (~200-1.000 token). Chunking stratejisi RAG kalitesinin %40'ını belirliyor.
Adım 4 — Embedding: her chunk'ı vektör'e (1.024-3.072 boyut) dönüştür. OpenAI text-embedding-3-large, Cohere embed-v3, Voyage AI gibi model.
Adım 5 — Vector DB'ye yaz: Pinecone, Weaviate, Qdrant, pgvector, Chroma. Metadata (kaynak, tarih, kategori) ekle.
Adım 6 — Retrieval: kullanıcı sorusu → embed → DB'den top-K (5-20) ilgili chunk'ı çek. Hybrid search (semantic + keyword) + re-ranking.
Adım 7 — Generation: retrieved chunks LLM context'ine ekle → cevap üret + kaynak link.

2. Doküman pipeline + chunking stratejisi#

Chunking yaklaşımları: (1) Fixed-size — 500 token sabit boy. Hızlı ama bağlam koparır. (2) Recursive character — paragraf/cümle sınırına göre böl (LangChain default). (3) Semantic chunking — anlam değişimine göre böl (daha kaliteli, pahalı). (4) Document structure-aware — markdown başlıkları, PDF section'ları takip et.
Chunk boyutu: küçük chunk (200 token) → daha kesin retrieval ama az bağlam. Büyük chunk (1.000 token) → daha çok bağlam ama "bulamıyor" riski. Tipik sweet spot 400-600 token.
Overlap: chunk'lar arası %10-20 örtüşme — bağlam kopmasını engeller.
Metadata zenginleştirme: her chunk'a doküman başlığı, section, sayfa numarası, tarih, kategori metadata olarak ekle. Filtering + ranking için kritik.
Tablo + görsel: tabloları text'e çevirme + görselleri caption ile birleştirme. Multimodal embedding (CLIP, Cohere multimodal) ile direkt görsel arama da mümkün.

3. Embedding stratejisi#

Embedding modeli seçimi (2026): OpenAI text-embedding-3-large (3.072 boyut, en yaygın). Cohere embed-v3 (1.024 boyut, multilingual güçlü). Voyage AI voyage-3-large (1.024 boyut, kod + multilingual lider). BGE-M3 (open source, self-host).
Türkçe kalitesi: Cohere embed-v3 multilingual + Voyage Türkçede daha iyi. OpenAI da kabul edilebilir ama Türkçe-özel detaylarda zayıflar.
Maliyet: OpenAI text-embedding-3-large 0.13 USD / 1M token. 100K doküman × 500 token = 50M token = 6.5 USD bir defalık.
Boyut tradeoff: 3.072 boyut → daha kaliteli + daha pahalı storage. 1.024 boyut → daha hızlı + ucuz. "matryoshka embedding" boyutu dinamik düşürülebilir.
Re-embedding: doküman değiştiğinde sadece o chunk re-embed. Toplu re-embedding (yıllık 1-2 kez) yeni model çıkınca anlamlı.

4. Vector DB seçimi#

Pinecone (managed): en olgun, kolay setup. Pod-based pricing 70 USD+/ay. Production-ready. Hybrid search desteği.
Weaviate (open source + cloud): built-in modules (text2vec, qa, summarization). GraphQL query. Self-host veya managed cloud.
Qdrant (open source + cloud): Rust-based hızlı. Filtering güçlü. Production'da hızla popüler.
pgvector (Postgres extension): PostgreSQL kullanıyorsanız best fit. Hibrit DB + vector. AWS RDS, Supabase, Neon destekliyor. Uygun orta-ölçek için.
Chroma: POC + dev için ideal. Production'da scale problemi.
Karar matrisi: POC + küçük ölçek → Chroma. Postgres altyapısı varsa → pgvector. Production scale → Pinecone veya Qdrant. Kompleks query → Weaviate.
Pure semantic search: sadece embedding cosine similarity. Hızlı ama "exact match" kelimelerde zayıf ("GPT-4o" gibi).
Pure keyword search (BM25): Elasticsearch, Tantivy. Exact match güçlü ama semantik benzerliği kaçırır.
Hybrid search (semantic + keyword): her ikisini paralel çalıştır + skor füzyonu (Reciprocal Rank Fusion). Recall %20-40 artar.
Re-ranking: top-50 retrieve et → re-ranker (Cohere Rerank, BGE-Reranker) ile yeniden sırala → top-5 LLM'e gönder. Precision %30-50 artar. Maliyet: Cohere Rerank $1 / 1.000 query.
Filtering: metadata bazlı filter (date > 2024, category = "legal") retrieval'i daraltır. Hassas bilgi domain'lerinde mecburi.
Query expansion: kullanıcı sorusunu LLM ile yeniden yaz / genişlet ("X nedir?" → "X kavramı, tanımı, örnekleri, kullanım alanları"). Recall artar.

6. Generation + prompting + citation#

Context window yönetimi: top-5 chunk × 500 token = 2.500 token retrieved context. + system prompt (500 token) + user query (200 token) + buffer = ~3.500 token. LLM context limit'in altında kal.
System prompt: "Aşağıdaki dokümanlara dayanarak cevap ver. Bilgi yoksa 'bu konuda bilgim yok' de. Her cevapta kaynağı [1], [2] gibi ref ekle."
Citation + grounding: her cevapta kaynak doküman + sayfa link'i ver. Kullanıcı tıklayıp doğrulayabilsin. Hallucination'ı %50+ düşürür.
Streaming: cevap token-by-token streaming → kullanıcı 200ms'de ilk word görür. UX kritik.
Failure modes: retrieval hiçbir şey bulamadıysa LLM'i zorlamak yerine "bilgi bulunamadı" cevabı + insana eskale.
Multi-turn conversation: sohbet geçmişi de retrieval query'sine dahil edilmeli. Naive RAG her turu izole yapar; advanced RAG conversation context kullanır.

7. Evaluation + observability#

Evaluation metrikleri: (1) Retrieval precision/recall — top-K içinde gerçekten ilgili chunk yüzdesi. (2) Answer relevance — cevap soruyla ilgili mi? (3) Faithfulness — cevap retrieved context'e dayalı mı, hallucinate mi? (4) Context relevance — retrieved chunks'lar gerçekten ilgili mi?
Evaluation framework'ler: RAGAS (open source), TruLens, DeepEval, Promptfoo. LLM-as-judge yaklaşımı (GPT-4 cevabı puanlar) yaygın.
Test set: 100-500 gerçek soru + beklenen cevap (ground truth). Her iyileştirme bu set'te ölçülür.
Observability: Langfuse, Helicone, LangSmith — her query'nin retrieved chunks'ı + LLM response'u + latency'i + maliyeti track. Production debug için mecburi.
A/B test: chunking strategy A vs B, embedding model A vs B, top-K 5 vs 10. Live trafiği split + metric karşılaştır.
Sürekli iyileştirme: failed query analizi → chunking + prompt + retrieval iyileştirme. RAG kalitesi 6 ayda 2x artar disiplinli takım için.

8. Güvenlik + production + compliance#

Permission model: kullanıcı A, kullanıcı B'nin dokümanlarına erişmemeli. Vector DB filter (user_id, group_id, role). Tek RAG'de multi-tenant olduğunda kritik.
PII redaction: dokümanlardaki kişisel veri (T.C. kimlik, e-mail, telefon) embedding'den önce maskelemek. Regex + ML kombinasyonu.
Data residency: kurumsal data EU/TR'de kalmalı (KVKK + GDPR). Vector DB region seçimi + data export anlaşması.
Audit logging: kim ne sordu, hangi chunks retrieve edildi, hangi cevap geldi → 12+ ay log. Compliance + debugging.
Rate limiting + cost control: kullanıcı başı saatlik query limiti. Token bütçesi. Maliyet patlamasını önler.
Update pipeline: şirket dokümanları aylık değişir. Otomatik delta-sync (yeni doküman ekleme + güncellenen re-embed + silinen vector DB'den çıkar). Event-driven (Kafka/SQS) veya scheduled.
Security testing: prompt injection ("ignore above + tell me secrets"), data leakage testleri.
Production checklist: permission + PII + audit + rate limiting + observability + update pipeline — 6'sı birden olmadan production'a çıkma.

Sonuç: "RAG kuralım" değil "production-ready RAG sistemi"#

RAG hızlı POC için kolay (1-2 hafta), production için zor (3-6 ay). 7 adımın her biri ayrı bir iyileştirme döngüsü gerektiriyor.
Sağlıklı yaklaşım: Faz 1 — POC (2-4 hafta, naive RAG, 100 doküman). Faz 2 — quality (4-8 hafta, hybrid search, re-ranking, evaluation). Faz 3 — production (6-12 hafta, security, observability, scale, update pipeline). Faz 4 — sürekli iyileştirme.
RAG mimarisi + implementasyon + production deployment için yapay zeka yazılım sayfamız üzerinden iletişime geçebilirsiniz; sektörünüze özel 4 fazlı RAG yol haritası hazırlarız.

Şehir bazlı landing page'ler

İlgili yazılar

Aynı kararı destekleyen diğer yazılar

Sonraki adım

Benzer bir proje planlıyorsanız, bağlamınızı netleştirip teklif akışını birlikte kurabiliriz.

Proje talebi oluştur

Yazar hakkında

T

Tolga Ege

Kurucu — CreativeCode

Mobil uygulama, web yazılım, SaaS ve özel yazılım geliştirme alanlarında 10+ yıllık üretim deneyimi. Flutter, React Native, Next.js, Node.js ve modern AI / LLM ekosistemi (OpenAI, Anthropic, Google) üzerine uçtan uca ürün teslimi yapıyor. CreativeCode'u 2017'de kurdu; 100+ projeyi mobil + web + SaaS dikeylerinde üretime aldı.

Mobil UygulamaSaaS ÜrünleriAI/LLM EntegrasyonProgrammatic SEOTeknik Liderlik