Yapay Zekâ · RAG Sistemi

AkademikChatbot

Eğitime özelleştirilmiş RAG tabanlı akademik danışman. Intent-routing motoru her sorguyu SQL, vektör arama veya web taramasına yönlendirir. Bilmediğini açıkça söyler.

Python · Flask GPT-4o-mini Gemini Flash RAG Pipeline ChromaDB 2025 / Tamamlandı
Bilgisayar Mühendisliği bölümünde zorunlu dersler neler?
// Intent Router → Text-SQL moduna yönlendiriliyor…
// Veritabanı sorgulanıyor: SELECT ders_adi, kredi FROM dersler WHERE tur='zorunlu'…

Bilgisayar Mühendisliği'nde 42 zorunlu ders var. Bunlar arasında Algoritma Analizi (3 kredi), Veri Tabanı Yönetimi (3 kredi) ve Yazılım Mühendisliği (3 kredi) bulunuyor...

Staj başvurusu için hangi belgeler gerekiyor?
// Intent Router → Document RAG moduna yönlendiriliyor…
// PDF vektör araması: "staj başvurusu belgeler"…

Staj Yönergesi'ne göre (s.12) başvuru için öğrenci belgesi, sigorta formu ve staj kabul mektubu gerekmektedir...
01

Intent Router

Soru tipini sınıflandırıp doğru modüle yönlendirir: SQL mi, RAG mi, web mi?

02

Text-SQL

Doğal dil sorusunu SQL sorgusuna çevirir, üniversite veritabanından veri çeker.

03

Document RAG

PDF'leri vektöre dönüştürür, ChromaDB'de saklar, semantik arama yapar.

04

Web Crawler

Güncel bilgi için istenilen web sitesini tarayan modül.

05

Multi-Turn Chat

Konuşma bağlamını korur; önceki sorularla ilişki kurar.

06

Token Takibi

Her konuşma için kullanılan token miktarını izler ve maliyet kontrolü sağlar.

Çok Modlu Yanıt

Tek bir sistem içinde Text-SQL, Document RAG ve web crawler'ı koordineli çalıştıran intent yönlendirme motoru.

Vektör Tabanlı Arama

Üniversite PDF belgelerini ChromaDB'ye gömerek semantik arama; sayfa ve kaynak referansıyla birlikte yanıt.

Çok Turlu Sohbet

Konuşma geçmişini takip ederek bağlamı korur; "bu derse kayıt yaptırabilir miyim?" gibi bağlama dayalı soruları anlıyor.

Dürüst Sınırlar

Bilmediği soruyu "bilmiyorum" diyerek geçiştirir; hallüsinasyon riskini minimize eden retrieval-first tasarım.

Native Function Calling

Orkestratör, LLM'e serbest metin/JSON yazdırıp regex ile ayrıştırmak yerine OpenAI/Gemini'nin gerçek bind_tools/tool_calls mekanizmasını kullanacak şekilde yeniden yazıldı; daha güvenilir ve daha az kırılgan bir araç çağırma katmanı.

Kalıcı Konuşmalar

Konuşma geçmişi conversations.db'de tutuluyor, sunucu yeniden başlatıldığında kaybolmuyor; session tabanlı bir login akışı eklendi.

Belge Kapsamı

Her belge sohbete özel ya da global olarak işaretlenebiliyor; başta her belge her sohbete görünürken artık ayrı bir "Yüklü Dosyalar" ekranından kapsam yönetiliyor.

RAGAS Değerlendirme Hattı

Mevcut pytest paketinden ayrı, opt-in bir eval/ betiği; cevap kalitesini faithfulness, answer relevancy ve context precision/recall metrikleriyle ölçüyor.

~92
geçen pytest testi
5/5
Text-SQL doğruluğu
4/5
RAG doğruluğu
Bilinen sınırlama: RAGAS değerlendirmesi gerçek API'ye karşı çalıştırıldı. Text-SQL sorguları 5/5 mükemmel skor aldı; RAG tarafında "bu belgenin 12. bölümü ne anlatıyor?" gibi yapısal/sıralı sorularda retrieval yanlış chunk getirdi (context recall 0.0) — saf semantik (embedding) aramanın "kaçıncı bölüm" tipi sorularda zayıf kaldığını gösteren somut bir bulgu.
Python Flask GPT-4o-mini Gemini Flash ChromaDB LangChain SQLite BeautifulSoup PyPDF2 sentence-transformers