Vaka Çalışması: RAG Tabanlı Destek Botu
Problem: Standart yapay zeka modelleri (GPT-4, Gemini) işletmenize özel gizli dökümanları, güncel stok durumunu veya iade prosedürlerini bilmez. Bu da botun yanlış bilgi vermesine (halüsinasyon) neden olur.
Çözüm: RAG (Retrieval-Augmented Generation) mimarisi. Yapay zeka, cevap vermeden önce sizin dökümanlarınız arasında arama yapar, ilgili metni bulur ve sadece o metne dayanarak cevap verir.
RAG Çalışma Mantığı
1. Bilgi Hazırlığı
PDF veya veritabanı metinleri küçük parçalara (chunks) bölünür.
2. Vektörleştirme
Bu parçalar Embedding modelleri ile sayısal vektörlere dönüştürülür.
3. Yanıt Üretimi
Soruyla en alakalı parça bulunur ve AI'ya "Sadece bu bilgiye göre cevapla" denir.
Python ve Pinecone/Chroma Entegrasyonu
Aşağıdaki kod, basit bir dökümanı sorgulayan RAG yapısını temsil eder.
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA
# 1. Bilgi Tabanını Yükle (Örn: SSS Dökümanı)
vector_db = Chroma(persist_directory="./db", embedding_function=OpenAIEmbeddings())
# 2. RAG Zincirini Kur
qa_chain = RetrievalQA.from_chain_type(
llm=ChatOpenAI(model="gpt-4o"),
chain_type="stuff",
retriever=vector_db.as_retriever()
)
# 3. Şirkete Özel Soru Sor
response = qa_chain.invoke("İade politikamızda kaç gün sınır var?")
print(response["result"])
Neden RAG Kullanmalısınız?
- Doğruluk: AI bilmediği konularda uydurmak yerine "Bu bilgiye sahip değilim" der.
- Güncellik: Modeli yeniden eğitmek yerine sadece veritabanını güncellemeniz yeterlidir.
- Maliyet: Fine-tuning (yeniden eğitim) işleminden çok daha ucuz ve hızlıdır.
Veri Güvenliği Notu
Eğer verileriniz çok gizliyse, bu mimariyi Ollama üzerinden yerel sunucunuzda çalıştırarak verilerin dışarı çıkmasını tamamen engelleyebilirsiniz.