Skip to content

bismih-org/katip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Katip - Yapay Zeka Sohbet Asistanı

Katip, hem Gemini API hem de yerel AI modelleri destekleyen, PyQt6 tabanlı modern bir yapay zeka sohbet uygulamasıdır.

🌟 Özellikler

  • Çoklu Model Desteği: Gemini AI ve yerel LLaMA modelleri
  • Gerçek Zamanlı Streaming: Anlık yanıt akışı
  • Sohbet Geçmişi: Konuşmaları kaydetme ve yükleme
  • Modern UI: Koyu/açık tema desteği
  • Markdown Desteği: Zengin metin formatları
  • Model Yönetimi: Otomatik model indirme ve yönetimi
  • Durdurma Özelliği: Yanıt üretimini istediğiniz anda durdurun

📋 Gereksinimler

Sistem Gereksinimleri

  • Python 3.11+
  • En az 4GB RAM (yerel modeller için 8GB+ önerilen)

Python Bağımlılıkları

pip install PyQt6 openai requests

🚀 Kurulum

  1. Projeyi klonlayın:
git clonehttps://github.com/bismih-org/katip
cd katip
  1. Bağımlılıkları yükleyin:
pip install -r requirements.txt
  1. Yapılandırma klasörünü oluşturun:
mkdir -p ~/.config/katip/model
  1. API anahtarınızı ekleyin:
echo "YOUR_GEMINI_API_KEY" > ~/.config/katip/api_key.txt
  1. Yerel modeller için JSON dosyasını oluşturun:
cp models.json ~/.config/katip/

⚙️ Yapılandırma

API Anahtarı

Gemini AI kullanmak için Google AI Studio'dan API anahtarı alın:

  1. Google AI Studio'ya gidin
  2. API anahtarı oluşturun
  3. Anahtarı ~/.config/katip/api_key.txt dosyasına kaydedin

Yerel Modeller

Yerel modeller ~/.config/katip/models.json dosyasında tanımlanır:

{
  "models": [
    {
      "name": "LLaMA-7B",
      "size": 4000,
      "download_url": "https://example.com/model.bin",
      "filename": "llama-7b.bin",
      "parameters": "7B"
    }
  ]
}

🎯 Kullanım

Uygulamayı Başlatma

python main.py

Temel Kullanım

  1. Model Seçimi: Üst kısımdan Gemini veya yerel model seçin
  2. Mesaj Yazma: Alt kısımdaki metin alanına mesajınızı yazın
  3. Gönderme: "Gönder" butonuna tıklayın veya Ctrl+Enter kullanın
  4. Durdurma: Yanıt sırasında "Durdur" butonunu kullanın

Klavye Kısayolları

  • Ctrl + Enter: Mesaj gönder
  • Esc: Yanıt üretimini durdur

📁 Proje Yapısı

katip/
├── src/
│   ├── common/
│   │   ├── api_client.py       # API bağlantı yönetimi
│   │   ├── chat_manager.py     # Sohbet akış yönetimi
│   │   └── model_loader.py     # Model yükleme ve yönetimi
│   ├── ui/
│   │   ├── main_window.py      # Ana uygulama penceresi
│   │   └── theme/
│   │       └── theme_manager.py # Tema yönetimi
│   └── static/
│       └── config.py           # Yapılandırma ayarları
├── data/
│   └── theme.qss              # CSS stil dosyası
├── models.json                # Model tanımları
├── main.py                    # Uygulama giriş noktası
└── requirements.txt           # Python bağımlılıkları

🔧 Geliştirme

Kod Yapısı

  • APIClient: OpenAI uyumlu API bağlantıları
  • ChatManager: Asenkron mesaj işleme ve streaming
  • ModelLoader: Yerel model indirme ve sunucu yönetimi
  • MainWindow: PyQt6 tabanlı kullanıcı arayüzü
  • ThemeManager: Dinamik tema değiştirme

Yeni Model Ekleme

  1. models.json dosyasını düzenleyin
  2. Model bilgilerini ekleyin
  3. Uygulamayı yeniden başlatın

Tema Özelleştirme

src/ui/theme/theme_manager.py dosyasını düzenleyerek yeni renkler ekleyebilirsiniz.

🐛 Sorun Giderme

Yaygın Sorunlar

API Anahtarı Hatası:

# API anahtarını kontrol edin
cat ~/.config/katip/api_key.txt

Model Yükleme Hatası:

# Model dizinini kontrol edin
ls -la ~/.config/katip/model/

Port Çakışması:

  • Yerel model sunucusu için 8080 portunu kullanır

Hata Ayıklama

# Ayrıntılı hata çıktısı için
python main.py --debug

🤝 Katkıda Bulunma

  1. Projeyi fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

📄 Lisans

Bu proje MIT lisansı altında dağıtılmaktadır. Detaylar için LICENSE dosyasına bakın.


Not: Bu uygulama eğitim ve araştırma amaçlıdır. Ticari kullanım için ilgili API sağlayıcılarının kullanım koşullarını kontrol edin.

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors