Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kerata

Belgelerinle konuşan, tamamen cihaz üzerinde çalışan açık kaynak iOS asistanı. PDF yüklersin, sorunu sorarsın; cevap sayfa referanslı gelir. Model telefonda çalıştığı için internet gerekmez — belgelerin, soruların ve cevapların telefondan hiç çıkmaz.

Uyarı: Kerata bir yapay zeka asistanıdır ve hata yapabilir. Önemli bilgileri her zaman kaynağından doğrulayın.

Özellikler

  • Tamamen çevrimdışı: model indirildikten sonra internet gerekmez; tek ağ trafiği model indirmesidir.
  • Belge soru-cevap (RAG): PDF metni bölümlenir, soruya en uygun bölümler seçilip modele verilir — 200 sayfalık belge de olsa model her seferinde yalnız ilgili birkaç sayfayı okur. Cevaplar sayfa referanslıdır.
  • Serbest sohbet: belge olmadan da Türkçe sohbet.
  • İki model, tek uygulama: telefonun gücüne göre öneri; dileyen güçlü telefonda bile küçük modeli seçebilir.
  • Metne sadakat: cevabı belgede olmayan soruda model uydurmaz, "belgede yok" der (aşağıda ölçümü var).
  • Bağlam uzunluğu ayarı: 1024–8192 kademeleri, cihazın belleğine göre üst sınır.
  • Açık/koyu/sistem tema, fildişi "kağıt-mürekkep" tasarım dili (app/TASARIM.md).

Modeller

Kerata 2B Kerata 4B
Boyut (4-bit) 2,8 GB 5,2 GB
Karakter Hafif ve hızlı Uzun/karmaşık belgelerde daha isabetli
Durum Taban model (ince ayar yol haritasında) Kendi eğittiğimiz Türkçe ince ayarlı model
Önerilen RAM 4 GB+ 7 GB+ (öneri eşiği)

İki model de Google'ın Gemma 4 mimarisi üzerine kuruludur (E2B / E4B) ve llama.cpp ile GGUF Q4_0 biçiminde, tamamen cihaz üzerinde çalışır. İndirme uygulama içinden yapılır; dosya bütünlüğü SHA-256 ile doğrulanır, indirme arka planda sürer ve hücresel bağlantıda kullanıcı uyarılır.

Kerata 4B — taban modele göre ne değişti?

Kerata 4B, Gemma 4 E4B (QAT 4-bit) tabanına kamuya açık Türkçe veri setlerinden süzülmüş ~24 bin talimat örneğiyle (Aya-TR, WikiRAG-TR ve süzülmüş genel Türkçe karışım; "cevap metinde yoksa yok de" örnekleri dahil) LoRA ince ayarı yapılıp ağırlıkların birleştirilmesiyle üretildi. Ölçülen farklar:

  • Ham düşünce zinciri sızıntısı giderildi. Taban model cevapların içine <|...|> biçiminde İngilizce iç etiketler ve düşünce metni sızdırabiliyor, bazı cevapları yarıda kesiyordu; ince ayarlı model temiz ve doğrudan Türkçe cevap veriyor. (Uygulama katmanında ayrıca savunma amaçlı bir etiket süzgeci vardır: Sources/Llama/LibLlama.swift içindeki TagFilter.)
  • Metne sadakat: 40 soruluk kontrollü testte (cevabı metinde olan 20 + olmayan 20 soru) sistem istemiyle birlikte 40/40 — metinde olmayan hiçbir soruda uydurma yok, metindeki 20 sorunun tamamı doğru. Aynı model sistem istemi olmadan, metinde olmayan sorularda ağırlıklı olarak uydurma üretiyordu; sadakat davranışı istem + ince ayar birlikteliğiyle sağlanıyor.

Ölçülmüş sonuçlar

449 soruluk kontrollü sette (199 cevabı metinde var + 200 yok + 50 dolaylı; üretim ve puanlama yöntemi ile bilinen sınırlar için evaluation/), iki model aynı çalıştırıcıda, uygulamadaki sistem yönergesiyle:

Ölçüt Taban model Kerata 4B
Kullanılabilir cevap (doğru + temiz + tam) %14 %86
Uydurmama (cevap metinde yokken doğru ret) %94,5 %96
İç etiket sızıntısı %45 %0
Yarıda kesilen cevap %42 %0,7

Taban model doğru bilgiyi çoğu zaman bulur; ancak çıktısının yaklaşık yarısı iç etiketler ve yarım cümlelerle kullanılamaz haldedir. İnce ayar çıktıyı tamamen temizler. Bilinen sınır: dolaylı (eş anlamlı) sorulmuş sorularda ham isabet tabandan düşüktür (%94 → %78); bir sonraki eğitim turunun hedefidir. Tüm veri, betikler ve ham sonuçlar evaluation/ klasöründedir — tekrar üretilebilir.

Mimari

  • SwiftUI uygulama; sekmeler: Belgelerim / Sohbet / Ayarlar.
  • llama.cpp (xcframework) üzerinde GGUF Q4_0 çıkarım; Gemma sohbet biçimi.
  • RAG: PDFKit ile metin çıkarma → bölümleme → kelime temelli arayıcı (Sources/Engine/DocStore.swift) → en iyi 4 bölüm + soru → model.
  • Model yönetimi: arka plan URLSession ile indirme, ilerleme yüzdesi, SHA-256 doğrulama, iCloud yedeklemesinden hariç tutma (Sources/ModelManager.swift).

Gizlilik ve güvenlik

  • Belgeler ve sohbetler cihazda kalır; hiçbir sunucuya gönderilmez, telemetri yoktur.
  • Yalnızca şifreli (HTTPS) bağlantıya izin verilir (ATS, NSAllowsArbitraryLoads=false).
  • İndirilen model dosyası SHA-256 ile doğrulanır; uyuşmayan dosya reddedilir.
  • Belge deposu cihaz şifrelemesiyle (completeFileProtection) yazılır.

Derleme

  1. Gerekenler: Xcode 16+, xcodegen.
  2. llama.cpp xcframework'ü bu depoda yoktur (241 MB); kendiniz derleyin:
    git clone https://github.com/ggml-org/llama.cpp
    cd llama.cpp && ./build-xcframework.sh ios-sim ios-device
    # çıkan llama.xcframework'ü app/Frameworks/ altına kopyalayın
  3. Projeyi üretin ve açın:
    cd app && xcodegen generate && open Kerata.xcodeproj
  4. project.yml içindeki imzalama ayarlarını kendi geliştirici hesabınıza göre değiştirin.

Yol haritası

  • Kerata 2B'nin Türkçe ince ayarı — 4B ile aynı eğitim hattından geçirilecek; hedef, küçük modelde de temiz Türkçe ve metne sadakat davranışı.
  • Anlam temelli arama (embedding) — kelime eşleşmeli arayıcının "ücret/fiyat" gibi eş anlamlıları kaçırma zayıflığını kapatmak için.
  • TXT / DOCX desteği.
  • Sadakat test setinin genişletilmesi ve sürümler arası kıyas raporları.

Lisans

Kod PolyForm Noncommercial 1.0.0 ile lisanslıdır (ticari kullanım kapalı); model ağırlıkları Gemma türevi olduğundan Gemma Terms of Use kapsamındadır. Ayrıntı: LISANS.md ve LICENSE.

Gemma is provided under and subject to the Gemma Terms of Use found at ai.google.dev/gemma/terms.


Spectua Teknoloji

About

Cihaz üzerinde çalışan, tamamen çevrimdışı Türkçe belge asistanı (iOS): PDF soru-cevap + sohbet. Türkçe ince ayarlı 4B model, SHA-256 doğrulamalı indirme, telemetrisiz. Açık kaynak, ticari kullanım kapalı.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages