Bu proje, Retrieval-Augmented Generation (RAG) mimarisini kullanarak PDF formatındaki dokümanlar üzerinde doğal dil işleme (NLP) yetenekleri sunan bir yapay zeka asistanıdır. Kullanıcılar tarafından yüklenen dokümanlar, vektörel uzayda indekslenir ve Google Gemini 1.5 Flash modeli aracılığıyla bağlamsal olarak sorgulanabilir hale getirilir.
ChatWithPDF, statik dokümanları interaktif bilgi tabanlarına dönüştürmeyi amaçlar. Geleneksel anahtar kelime aramasının aksine, anlamsal arama (semantic search) teknolojisi kullanarak kullanıcının niyetini anlar ve dokümanın ilgili bölümlerinden sentezlenmiş, kaynak gösterimli yanıtlar üretir.
Proje, veri gizliliği ve performans optimizasyonu gözetilerek In-Memory (Bellek İçi) çalışacak şekilde tasarlanmıştır.
-
Yüksek Performanslı RAG Mimarisi: Dokümanları parçalara ayırıp (chunking) vektörel veritabanında işleyerek yüksek doğrulukta yanıtlar üretir.
-
Geçici Bellek Yönetimi (Ephemeral Memory): Disk I/O darboğazlarını ve dosya kilitlenme sorunlarını önlemek için FAISS (Facebook AI Similarity Search) teknolojisi ile veriler tamamen RAM üzerinde işlenir. Oturum sonlandığında veriler otomatik olarak temizlenir.
-
Explainable AI (Açıklanabilir YZ): Üretilen her yanıt için, dokümanın hangi sayfasından ve paragrafından referans alındığı kullanıcıya kanıt olarak sunulur.
-
Model Entegrasyonu: Google'ın maliyet/performans optimize edilmiş Gemini 1.5 Flash LLM ve Text-Embedding-004 modelleri entegre edilmiştir.
-
Session State Yönetimi: Streamlit oturum yönetimi ile kullanıcı deneyimi kesintisiz hale getirilmiş, tekrar eden veri işleme maliyetleri önlenmiştir.