DocFlow, yapay zeka gücünü buluta ihtiyaç duymadan tamamen yerel (offline) makinenizde çalıştıran, veri gizliliği odaklı ve RAG (Retrieval-Augmented Generation) mimarisiyle inşa edilmiş modern bir belge asistanıdır. Yüzlerce sayfalık PDF veya TXT dosyalarınızı saniyeler içinde analiz eder, içeriği bağlamsal olarak anlar ve sorularınızı yalnızca sizin belgelerinizdeki kanıtlara dayanarak yanıtlar.
- Proje Vizyonu ve Özellikler
- Sistem Mimarisi
- Kullanılan Teknolojiler
- Kurulum ve Çalıştırma
- Kullanım Senaryosu
- Geliştirici ve Proje Hakkında
- Lisans
Günümüzde LLM (Büyük Dil Modelleri) kullanımı hızla artarken, şirket içi hassas verilerin veya kişisel dokümanların üçüncü parti bulut servislerine yüklenmesi büyük bir güvenlik zafiyeti yaratmaktadır. DocFlow, bu sorunu ortadan kaldırmak için tasarlanmıştır.
- 🔒 %100 Yerel ve Gizlilik Odaklı: Cihazınızda çalışan donanım hızlandırmalı (CPU/NPU) modeller sayesinde hiçbir veriniz internete sızmaz.
- 🧠 Halüsinasyon Kalkanı (RAG): Klasik yapay zekaların aksine, DocFlow bilmediği konularda uydurmaz. Yalnızca yüklediğiniz dokümanlardaki verileri geri getirerek (Retrieval) kanıta dayalı yanıtlar sunar.
- 💅 Premium UI/UX Deneyimi: Streamlit'in varsayılan kısıtlamaları CSS Enjeksiyonu (CSS Injection) ile ezilmiştir. Modern karanlık tema (Dark Mode), akıcı animasyonlar ve sezgisel bir sürükle-bırak (Drag & Drop) alanı içerir.
- ⚡ Hafif ve Hızlı: Ağır vektör veritabanları yerine, yerel diskte çalışan ve sunucu gerektirmeyen (serverless) optimize edilmiş SQLite yapısı kullanır.
DocFlow'un çalışma prensibi üç ana faza dayanır:
- Ingestion (Veri İçeri Aktarma): Kullanıcı bir doküman yüklediğinde,
PyMuPDFmetni çıkarır. Metin, anlam bütünlüğü bozulmadan küçük parçalara (chunks) ayrılır ve SQLite veritabanına kaydedilir. - Retrieval (Akıllı Geri Getirme): Kullanıcı bir soru sorduğunda, gelişmiş arama algoritması dolgu kelimelerini (stop-words) filtreler. Sadece anahtar teknik terimler veritabanında sorgulanır ve en alakalı metin parçaları (context) çekilir.
- Generation (Üretme): Bulunan bağlam, sıkı kurallarla yazılmış bir "Sistem Promptu" ile birleştirilerek yerel Foundry Local (phi-3.5-mini) modeline iletilir. Model, sadece bu bağlamı kullanarak akıcı ve doğru bir Türkçe yanıt üretir.
- Yapay Zeka & LLM: Microsoft Foundry Local SDK,
phi-3.5-mini - Backend & Mantık: Python 3.10+
- Frontend & Arayüz: Streamlit, Custom HTML/CSS
- Veritabanı: SQLite (Local Data Storage)
- Veri İşleme: PyMuPDF (
fitz), Regular Expressions (Regex)
Projeyi kendi bilgisayarınızda (Windows, macOS veya Linux) çalıştırmak için aşağıdaki adımları sırasıyla izleyin:
git clone [https://github.com/KULLANICI_ADIN/DocFlow.git](https://github.com/KULLANICI_ADIN/DocFlow.git)
cd DocFlowProje bağımlılıklarının sisteminizle çakışmaması için yalıtılmış bir ortam oluşturun.
python -m venv venvvenv\Scripts\activatesource venv/bin/activatepip install -r requirements.txtstreamlit run app.pyTerminalde beliren http://localhost:8501 adresine giderek DocFlow'u kullanmaya başlayabilirsiniz.
-
Sol menüdeki sürükle-bırak alanına analiz edilmesini istediğiniz PDF veya TXT dosyasını yükleyin.
-
"Kaynak Yükle" butonuna basın ve verilerin saniyeler içinde SQLite veritabanına işlenmesini bekleyin.
-
Sayfanın alt kısmındaki şık sohbet kutusuna dokümanla ilgili spesifik bir soru sorun.
-
Arkanıza yaslanın ve DocFlow'un dosyalarınızın derinliklerinden çıkardığı en doğru cevabı okuyun!
Bu proje, Microsoft Türkiye bünyesinde düzenlenen AI Innovators Summer Internship kapsamında Begüm Kaya tarafından geliştirilmiştir.
Projenin temel motivasyonu; kurumsal firmaların veri güvenliği kaygılarını ortadan kaldıran, hafif, hızlı ve yüksek UX (Kullanıcı Deneyimi) standartlarına sahip bir yerel yapay zeka SaaS prototipi ortaya koymaktır.
Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE dosyasına göz atabilirsiniz. Dilediğiniz gibi kullanabilir, değiştirebilir ve kendi projelerinize entegre edebilirsiniz.
