Genel Bakış
Mavi Çatal, bir restoranın müşteri sorularına 7/24 cevap verebilmesi için tasarlanan, RAG (Retrieval-Augmented Generation) mimarisine sahip bir AI chatbot. Restoranın menüsünden, hizmetlerinden ve çalışma saatlerinden eğitildi ve müşteri sorularını yalnızca kendi bilgi tabanından cevaplıyor — halüsinasyon yok.
RAG Pipeline'ı
Sıfırdan kurduğum RAG akışı:
- Doküman hazırlama: Restoran bilgileri yapılandırılmış formatta toplanıyor
- Chunk'lama: Uzun metinler anlamlı parçalara bölünüyor (overlap'lı sliding window)
- Embedding: Her chunk OpenAI text-embedding-3-small ile vektöre dönüştürülüyor
- Vektör depolama: pgvector ile PostgreSQL'de saklanıyor
- Sorgu düzeltme: Kullanıcının doğal dilini LLM ile normalize eden ön işleme
- Retrieval: Cosine similarity ile en alakalı k chunk getiriliyor
- Bağlam doğrulama: Bulunan chunk'lar gerçekten kullanıcının sorusuyla alakalı mı kontrol ediliyor
- Cevap üretimi: Sadece doğrulanmış bağlamla cevap üretiliyor
LangGraph Orkestrasyonu
Tüm bu adımlar LangGraph üzerinde bir state machine olarak modellendi. Her node belirli bir sorumluluğa sahip (rewrite, embed, retrieve, validate, generate), durumlar arası geçişleri grafiğin kendisi yönetiyor.
Neden Önemli
Bu proje, daha sonra kendi kişisel sitemdeki AI chatbot'umun temeli oldu. Mavi Çatal için kurduğum RAG pipeline'ını jenerik hale getirip Mahmoud.sy'nin chat bot'una adapte ettim. Yani şu anda bu siteyi gezerken benimle konuştuğun chat botu da aynı mimari üzerinde çalışıyor.