chatbot / README.md
Havvanur20's picture
Update README.md
00b28c1 verified

A newer version of the Streamlit SDK is available: 1.55.0

Upgrade
metadata
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-model ile 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

  1. Veri Yükleme: HuggingFace'ten umutertugrul/turkish-hospital-medical-articles veri seti
  2. Document Oluşturma: Makaleler LangChain Document formatına dönüştürülür
  3. Veri Temizleme: Boş ve kısa içerikler filtrelenir
  4. 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:

  1. Google AI Studio adresine gidin
  2. Google hesabınızla giriş yapın
  3. "Create API Key" butonuna tıklayın
  4. Oluşturulan anahtarı kopyalayın

HuggingFace Token:

  1. HuggingFace adresine gidin
  2. "New token" butonuna tıklayın
  3. "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:

  1. 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.txt
    
  2. API 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')
    
  3. 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)
    
  4. 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?"