Spaces:
Sleeping
A newer version of the Streamlit SDK is available: 1.55.0
title: RAG Tabanlı Türkçe Tıbbi Chatbot
emoji: 🏢
colorFrom: indigo
colorTo: blue
sdk: streamlit
sdk_version: 1.37.0
app_file: app.py
pinned: false
RAG Tabanlı Türkçe Tıbbi Chatbot
Bu proje, Türkçe tıbbi makaleler üzerinde Retrieval-Augmented Generation (RAG) teknolojisi kullanarak çalışan akıllı bir chatbot sistemidir. HuggingFace'ten yüklenen Türk hastanelerinin tıbbi makalelerini analiz ederek, kullanıcıların tıbbi sorularına profesyonel cevaplar verir.
Özellikler
- 4000+ Tıbbi Makale: Türk hastanelerinden toplanmış güncel tıbbi içerik
- Türkçe Embedding Modeli:
trmteb/turkish-embedding-modelile optimize edilmiş arama - Google Gemini 2.0 Flash: Gelişmiş dil modeli ile doğal cevaplar
- ChromaDB Vector Store: Hızlı ve etkili vektör arama
- Streamlit Web Arayüzü: Kullanıcı dostu web arayüzü
Proje Yapısı
rag-based-chatbot/
├── rag_env/ # Python sanal ortamı
├── app.py # Ana uygulama
├── data_processing.py # Veri yükleme ve işleme
├── embedding_model.py # Türkçe embedding modeli
├── vector_store.py # ChromaDB vector store yönetimi
├── rag_pipeline.py # RAG pipeline mantığı
├── gemini_integration.py # Google Gemini API entegrasyonu
├── requirements.txt # Python bağımlılıkları
├── README.md
└── chroma_db/ # Vector store veritabanı (otomatik oluşur)
Teknik Detaylar
Veri İşleme Pipeline
- Veri Yükleme: HuggingFace'ten
umutertugrul/turkish-hospital-medical-articlesveri seti - Document Oluşturma: Makaleler LangChain Document formatına dönüştürülür
- Veri Temizleme: Boş ve kısa içerikler filtrelenir
- Kalite Kontrolü: %98.6 başarı oranı ile işleme
Kullanılan Teknolojiler
| Kategori | Teknoloji | Versiyon | Açıklama |
|---|---|---|---|
| LLM | Google Gemini 2.0 Flash | Latest | Ana dil modeli |
| Embedding | trmteb/turkish-embedding-model | Latest | Türkçe vektörleştirme |
| Vector DB | ChromaDB | 0.4.0+ | Vektör veritabanı |
| Framework | LangChain | 0.1.0+ | RAG framework |
| Web UI | Streamlit | 1.28.0+ | Web arayüzü |
| Data | HuggingFace Datasets | 2.14.0+ | Veri yönetimi |
Kurulum
1. Projeyi Klonlayın
git clone <repository-url>
cd rag-based-chatbot
2. Sanal Ortam Oluşturun
# Sanal ortam oluştur
python -m venv rag_env
# Sanal ortamı aktifleştir
# Windows:
rag_env\Scripts\activate
# macOS/Linux:
source rag_env/bin/activate
3. Bağımlılıkları Yükleyin
pip install -r requirements.txt
4. API Anahtarlarını Ayarlayın
.env dosyası oluşturun:
# .env dosyası oluştur
touch .env
.env dosyasına aşağıdaki anahtarları ekleyin:
# Google Gemini API Anahtarı
GOOGLE_API_KEY=your_gemini_api_key_here
# HuggingFace Token (opsiyonel)
HUGGINGFACE_TOKEN=your_hf_token_here
API Anahtarlarını Nasıl Alırsınız?
Google Gemini API:
- Google AI Studio adresine gidin
- Google hesabınızla giriş yapın
- "Create API Key" butonuna tıklayın
- Oluşturulan anahtarı kopyalayın
HuggingFace Token:
- HuggingFace adresine gidin
- "New token" butonuna tıklayın
- "Read" yetkisi ile token oluşturun
Kullanım
1. Konsol Uygulaması
python app.py
Bu komut:
- Veri setini yükler
- Document'ları oluşturur
- Embedding modelini yükler
- Vector store oluşturur/yükler
- RAG pipeline'ı test eder
- Etkileşimli chat modunu başlatır
2. Streamlit Web Arayüzü
streamlit run app.py
Web arayüzü http://localhost:8501 adresinde açılır.
3. Google Colab ile Deneme
Hızlı Başlangıç için Colab:
Colab Notebook'u Açın:
# Colab'da çalıştırın !git clone https://github.com/your-username/rag-based-chatbot.git %cd rag-based-chatbot !pip install -r requirements.txtAPI Anahtarlarını Ayarlayın:
# Colab'da çalıştırın import os from google.colab import userdata # Gemini API anahtarınızı girin os.environ['GOOGLE_API_KEY'] = userdata.get('GOOGLE_API_KEY') # HuggingFace token (opsiyonel) os.environ['HUGGINGFACE_TOKEN'] = userdata.get('HUGGINGFACE_TOKEN')Veri Setini Analiz Edin:
# Colab'da çalıştırın from data_processing import hf_load_dataset, explore_dataset # Veri setini yükle ve analiz et dataset = hf_load_dataset() explore_dataset(dataset)RAG Pipeline'ı Test Edin:
# Colab'da çalıştırın from app import main # Ana uygulamayı çalıştır main()
Örnek Kullanım
Tıbbi Tarayıcı ile test edebileceğiniz örnek sorular:
• "Migren ağrısı nasıl geçer?"
• "Kalp krizi belirtileri nelerdir?"
• "Grip aşısı ne zaman yaptırmalıyım?"
• "Yüksek tansiyon nasıl kontrol edilir?"
• "Baş ağrısı çeşitleri nelerdir?"