ChatGPT'ye 'şirketimizin 2024 bütçe raporu' diye sorduğunuzda hiçbir şey bilmiyor. RAG (Retrieval-Augmented Generation) tam olarak bu sorunu çözer: şirketinizin dökümanlarını AI modeline bilgi tabanı olarak verir, modelin yanıtları kendi verilerinizle zenginleştirilir. Bu rehberde RAG mimarisini, vector database seçimini, embedding modellerini ve hibrit arama tekniklerini adım adım anlatıyoruz.
RAG Nasıl Çalışır?
- Kullanıcı soru sorar: 'İade prosedürümüz nasıl?'
- Soru bir embedding modeline verilip vektöre çevrilir (örn. 1536 boyutlu sayı dizisi)
- Vector DB içinde bu vektöre en yakın doküman parçaları bulunur (semantik benzerlik)
- Bulunan döküman parçaları LLM'in promptuna eklenir
- LLM, bu bağlamı kullanarak kullanıcı sorusuna yanıt verir
Sonuç: Modelin halüsinasyon ihtimali düşer, güncel ve doğru bilgi sunar, kaynak gösterir.
RAG Sistem Bileşenleri
1. Veri Toplama (Data Ingestion)
- PDF, Word, Excel, PowerPoint, HTML, Markdown
- Web scraping (kendi sitenizden veya rakipten)
- Veritabanı (SQL, NoSQL) ile periyodik senkronizasyon
- API'lardan canlı veri (CRM, ERP, ticket sistemi)
- Görsel için OCR (Tesseract, AWS Textract)
- Ses için Whisper ile transkripsiyon
2. Chunking (Bölümleme) Stratejileri
Büyük dökümanlar küçük parçalara bölünmeli:
- Fixed size: 500-1000 token sabit boyut, basit
- Recursive character splitting: Paragraf → cümle → kelime hierarşi
- Semantic chunking: Anlam değişikliği noktalarında böl, en kaliteli
- Document structure aware: Markdown başlık (#), Word stilleri kullan
- Overlap: %10-20 örtüşme bağlam kaybını önler
3. Embedding Modelleri
Metni sayı vektörüne çeviren modeller:
- OpenAI text-embedding-3-large: 3072 boyut, en kaliteli, ücretli ($0.13 / 1M token)
- OpenAI text-embedding-3-small: 1536 boyut, ucuz ($0.02 / 1M)
- BGE-M3 (BAAI): 1024 boyut, açık kaynak, multimodal & multilingual
- multilingual-e5-large: 1024 boyut, açık kaynak, 100+ dil
- jina-embeddings-v3: 1024 boyut, uzun bağlam (8192 token)
Türkçe içerik için BGE-M3 ve multilingual-e5 önerilir.
4. Vector Database Seçimi
| DB | Tür | Avantaj |
| Qdrant | Standalone | Rust ile yazılmış, hızlı, açık kaynak |
| Weaviate | Standalone | GraphQL, hibrit arama dahili |
| Pinecone | Bulut | Yönetilen servis, kurulum yok |
| pgvector | PostgreSQL Eklenti | Mevcut PostgreSQL'e eklenir, basit |
| Milvus | Standalone | Büyük ölçek (milyar vektör) |
| ChromaDB | Embed | Python uygulamasına gömülebilir, geliştirme için ideal |
5. Hibrit Arama (Hybrid Search)
Sadece semantik arama yetersiz; keyword arama (BM25) + vector arama + reranker kombinasyonu en iyi sonucu verir.
- Vector DB → top 50 aday
- BM25 (Elasticsearch / OpenSearch) → top 50 aday
- Birleştir + Reranker (Cohere Rerank, BGE Reranker) → top 10
- Top 10'u LLM'e bağlam olarak gönder
Framework Seçenekleri
- LangChain: Python/JS, en yaygın, geniş entegrasyon
- LlamaIndex: Python, RAG'a özelleşmiş, daha basit API
- Semantic Kernel: Microsoft, .NET / Python, kurumsal odaklı
- Haystack: Python, production grade, Almanya menşeli
Yaygın Sorunlar ve Çözümleri
'AI bana yanlış bilgi veriyor'
- Chunking iyileştir (semantik bölümleme dene)
- Top-K artır (5 yerine 10 aday)
- Reranker ekle
- System prompt'a 'Bağlamda olmayan bilgi verme' ekle
'Yanıt çok yavaş'
- Embedding caching (aynı sorular için)
- Vector DB index optimizasyonu (HNSW parametreleri)
- Streaming yanıt
- Daha küçük model (Llama 8B yeterli olabilir)
'Yeni doküman ekleyince eskiyi bulamıyorum'
- Versioning ile metadata tut (eklenme tarihi, kaynak)
- Filtreleme: 'son 6 ay içinde eklenenleri öncelikle ara'
Kullanım Senaryoları
- Müşteri Hizmetleri: Ürün kataloğu + SSS → AI chatbot
- İç Bilgi Bankası: Şirket prosedürleri → çalışanlar arar
- Hukuk: Sözleşme arşivi → benzer davaları bul
- Sağlık: Hasta dosyası geçmişi → hekime özet
- Eğitim: Ders kitapları → öğrenci sorularına yanıt
RFSoftwareSolution RAG Çözümleri
Veri toplama, chunking, embedding, vector DB kurulumu, hibrit arama ve LLM entegrasyonu — tek partnerle uçtan uca RAG sistemi. AI & Yerel AI hizmetleri sayfamızdan detayları inceleyin.