Şu an neler oluyor?

Tüm akışa dön
RAG (Retrieval-Augmented Generation) Mimarisi Kurma Rehberi: Yerel LLM ve Vektör Veritabanı
Yapay Zeka 3 Ekim 2026 · 1 gün önce 209 karakter

RAG (Retrieval-Augmented Generation) Mimarisi Kurma Rehberi: Yerel LLM ve Vektör Veritabanı

Haberin özeti

Elinizde binlerce sayfalık şirket içi prosedür, teknik dokümantasyon veya hukuk metni var ve çalışanlarınızın bu verilerle sohbet ederek anında doğru yanıt almasını istiyorsunuz.

↳
Olay örgüsü

Ne oldu, nasıl gelişti?

### 1. RAG Mimarisinin 4 Temel Aşaması 1. **İçerik Parçalama (Chunking):** PDF, Word veya HTML dökümanları anlamsal bütünlüğü bozmayacak şekilde 500-1000 token'lık parçalara (chunks) bölünür. Parçalar arasına %10-15 overlap (örtüşme) eklenir. 2. **Vektörleştirme (Embedding):** Her metin parçası çok dilli bir embedding modeli (örn: `bge-m3` veya `text-embedding-3-small`) ile 1024 veya 1536 boyutlu sayısal vektörlere dönüştürülür. 3. **Vektör Veritabanı Kaydı:** Sayısal vektörler ChromaDB, Qdrant veya Milvus gibi vektör veritabanlarında HNSW indeksleme algoritmasıyla saklanır. 4. **Sorgulama ve Üretim:** Kullanıcı bir soru sorduğunda soru da vektörleştirilir; veritabanında en yakın anlamlı 3-5 parça (Cosine Similarity ile) bulunur ve LLM'e 'Bağlam (Context)' olarak verilerek yanıt ürettirilir.

### 2. Python ve LangChain ile Minimalist Kod Mimarisi ```python from langchain_community.document_loaders import PyPDFLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_community.vectorstores import Chroma from langchain_community.embeddings import OllamaEmbeddings from langchain_community.llms import Ollama

# 1. Dokümanı Yükle ve Böl loader = PyPDFLoader("sirket_politikasi.pdf") docs = loader.load() splitter = RecursiveCharacterTextSplitter(chunk_size=700, chunk_overlap=100) chunks = splitter.split_documents(docs)

# 2. Vektör Veritabanı Oluştur embeddings = OllamaEmbeddings(model="bge-m3") vector_db = Chroma.from_documents(chunks, embeddings, persist_directory="./chroma_db")

# 3. Benzerlik Araması ve Cevap query = "Yıllık izin devir şartları nelerdir?" retrieved_docs = vector_db.similarity_search(query, k=3) context = " ".join([d.page_content for d in retrieved_docs]) prompt = f"Yalnızca şu bağlama göre soruyu cevapla: {context}

Soru: {query}" ```

### 3. Halüsinasyonu Sıfıra İndirme Taktikleri - **Prompt Guard:** Modèle 'Eğer verilen metinde cevap yoksa tahmin yürütme, bilmiyorum de' kuralını kesin olarak verin. - **Reranking:** Vektör aramasından dönen ilk 10 sonucu `Cohere Rerank` veya `FlashRank` gibi çapraz kodlayıcılarla yeniden puanlayarak en alakalı ilk 3'e indirin. - **Metadata Filtreleme:** Döküman parçalarına tarih, departman ve yetki etiketi ekleyerek sadece ilgili yetki düzeyindeki verilerin taranmasını sağlayın.

Etkileri

Kimi, nasıl etkiliyor?

Kurumların tescilli veri güvenliğini korurken yapay zekanın sağladığı iş gücü verimliliğinden maksimum faydalanmasını sağlar.

Sırada ne var?

Bundan sonra ne olacak?

Geliştiricilerin açık kaynak Ollama ve Qdrant ikilisi ile yerel prototip oluşturup gecikme sürelerini ölçmesi önerilir.

Bunu Neden Bilmelisin?

Büyük dil modelleri eğitildikleri tarihle sınırlıdır ve şirketinizin özel verilerini bilmez. RAG mimarisi, modeli yeniden eğitmeden (fine-tuning maliyetine girmeden) en güncel verilerle konuşturmanın endüstri standardıdır.

Geçmişi Ne?

Meta AI ve Stanford araştırmacıları tarafından 2020'de ortaya atılan RAG konsepti, vektör veritabanlarının gelişmesiyle kurumsal yapay zekanın omurgası haline geldi.

Büyük Resim

Kurumlar hassas verilerini OpenAI veya bulut sağlayıcılara göndermeden yerel sunucularda çalışan RAG sistemleriyle gizliliği tam olarak sağlayabiliyor.

Kaynak (neleroluyor. Özel Analiz)

📰 İlgili Haberler