Katip, hem Gemini API hem de yerel AI modelleri destekleyen, PyQt6 tabanlı modern bir yapay zeka sohbet uygulamasıdır.
- Ç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
- Python 3.11+
- En az 4GB RAM (yerel modeller için 8GB+ önerilen)
pip install PyQt6 openai requests- Projeyi klonlayın:
git clonehttps://github.com/bismih-org/katip
cd katip- Bağımlılıkları yükleyin:
pip install -r requirements.txt- Yapılandırma klasörünü oluşturun:
mkdir -p ~/.config/katip/model- API anahtarınızı ekleyin:
echo "YOUR_GEMINI_API_KEY" > ~/.config/katip/api_key.txt- Yerel modeller için JSON dosyasını oluşturun:
cp models.json ~/.config/katip/Gemini AI kullanmak için Google AI Studio'dan API anahtarı alın:
- Google AI Studio'ya gidin
- API anahtarı oluşturun
- Anahtarı
~/.config/katip/api_key.txtdosyasına kaydedin
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"
}
]
}python main.py- Model Seçimi: Üst kısımdan Gemini veya yerel model seçin
- Mesaj Yazma: Alt kısımdaki metin alanına mesajınızı yazın
- Gönderme: "Gönder" butonuna tıklayın veya Ctrl+Enter kullanın
- Durdurma: Yanıt sırasında "Durdur" butonunu kullanın
Ctrl + Enter: Mesaj gönderEsc: Yanıt üretimini durdur
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ı
- 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
models.jsondosyasını düzenleyin- Model bilgilerini ekleyin
- Uygulamayı yeniden başlatın
src/ui/theme/theme_manager.py dosyasını düzenleyerek yeni renkler ekleyebilirsiniz.
API Anahtarı Hatası:
# API anahtarını kontrol edin
cat ~/.config/katip/api_key.txtModel Yükleme Hatası:
# Model dizinini kontrol edin
ls -la ~/.config/katip/model/Port Çakışması:
- Yerel model sunucusu için 8080 portunu kullanır
# Ayrıntılı hata çıktısı için
python main.py --debug- Projeyi fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature') - Branch'inizi push edin (
git push origin feature/amazing-feature) - Pull Request oluşturun
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.