DocTalk, modern LLM (Large Language Model) teknolojilerini vektör tabanlı arama ile birleştiren bir RAG (Retrieval-Augmented Generation) uygulamasıdır. Kullanıcıların yüklediği PDF ve metin belgelerini analiz eder, bu belgeler içinden semantik arama yapar ve Google Gemini API kullanarak doğal dilde soruları yanıtlar.
Proje Tanıtım Videosu: https://youtu.be/bs8mOjw_3xU
Projenin arayüzüne ve çalışma mantığına dair görselleri aşağıda bulabilirsiniz:
| Ana Sayfa & Chat Ekranı (Dashboard) | Belge Analizi(Kısa Özet) |
|---|---|
![]() |
![]() |
| Belge Analizi(Detaylı Özet) | Belge Analizi(Madde Madde Özet) |
|---|---|
![]() |
![]() |
- Vektör Tabanlı Semantik Arama: FAISS kütüphanesi sayesinde dokümanlar içerisinde sadece kelime eşleşmesi değil, anlam odaklı arama yapılır.
- Akıllı Soru-Cevap: Google Gemini Flash modeli entegrasyonu ile doküman içeriğine dayalı, bağlamsal ve doğru yanıtlar üretilir.
- Modern Teknik Mimari: - Backend: FastAPI ile asenkron, hızlı ve ölçeklenebilir API servisleri.
- Frontend: React ve TypeScript ile geliştirilmiş, kullanıcı deneyimi odaklı dinamik arayüz.
- Gelişmiş Belge İşleme: Yüklenen belgelerin otomatik olarak parçalanması (chunking) ve embedding işlemlerinin yapılması.
| Alan | Kullanılan Teknolojiler |
|---|---|
| Backend | Python, FastAPI, Uvicorn |
| Frontend | React, TypeScript, Vite, CSS |
| AI/ML | Google Gemini API, LangChain |
| Vektör DB | FAISS (Facebook AI Similarity Search) |
1. Sanal Ortam Oluşturun:
python3 -m venv ./.venv2. Sanal Ortamı Aktif Edin:
- Mac / Linux:
source .venv/bin/activate- Windows:
.venv\Scripts\activate3. Gerekli Paketleri Yükleyin:
pip install -r requirements.txt4. .env Dosyasını Ayarlayın:
Projeyi çalıştırmadan önce Google Gemini API anahtarına ihtiyacınız var:
- Google AI Studio adresine gidin.
- Hesabınıza giriş yapın ve yeni bir "API key" oluşturun.
- Proje dizininde bulunan
.env.exampledosyasını kopyalayarak yeni bir.envdosyası oluşturun. - Oluşturduğunuz
.envdosyasını açın veGEMINI_API_KEYdeğerine aldığınız API anahtarını yapıştırın:GEMINI_API_KEY="sizin_api_anahtariniz_buraya"
5. Backend'i Başlatın (FastAPI):
uvicorn backend.main:app --reload --port 80006. Frontend'i Başlatın (React UI):
cd frontend
npm install
npm run devAPI çalışmaya başladığında aşağıdaki adreslere erişebilirsiniz:
- Swagger UI: http://127.0.0.1:8000/docs
- Upload Endpoint:
POST http://127.0.0.1:8000/upload
7. Vektör Aramasını Test Etme (FAISS):
Sisteme yüklediğiniz belgeler üzerinde semantic arama yapmak için terminalde test_search.py betiğini kullanabilirsiniz:
# Sanal ortam aktifken çalıştırın:
python test_search.py "Aramak istediğiniz metin veya soru" --k 5(Not: --k 5 parametresi en yakın 5 sonucu getirir. Varsayılan değer 3'tür.)
Her türlü geri bildirim, hata raporu veya özellik önerisi için bir issue oluşturabilir ya da pull request gönderebilirsiniz.
Bu proje MIT Lisansı ile lisanslanmıştır.
👤 Cihan Demir - GitHub | LinkedIn 👤 Serkan Yıldız - GitHub | LinkedIn




