Tüm yazılar
cortismühendislikcihaz üstü yapay zekaSiri

Siri'nin İçinde Çalışan Bir Yapay Zeka Nasıl Geliştirdik

Cortis, iPhone'unuzda gerçek bir dil modeli çalıştırıp cevabı Siri üzerinden veriyor — uygulama açılmıyor, internet gerekmiyor. Cihaz üstü headless inference'ın teknik detayları.

4 min readNERON
Diğer diller:English

Yapay zeka uygulamalarının çoğu bir sohbet penceresi ve arkasında bir API çağrısından ibaret. Prompt yazarsın, sunucuya gider, sunucu inference yapar, cevap döner. Cortis farklı bir şey yapıyor.

"Hey Siri, Cortis'e sor: kuantum bilgisayar nedir" dediğinizde, iPhone'unuzun CPU ve GPU'sunda gerçek bir dil modeli çalışıyor, bir yanıt üretiyor ve bunu Siri üzerinden iletiyor. Uygulama açılmıyor. İnternet yok. Sunucu çağrısı yok. Cevap cebinizdeki nöral motordan geliyor.

İşte nasıl yaptık.

Sorun: Siri Düşünemiyor

Siri zamanlayıcı kurmakta ve müzik çalmakta harika. Gerçek muhakeme gerektiren bir şey sorun — "TCP ile UDP arasındaki fark nedir" — ve bir web arama bağlantısı alırsınız. Apple Intelligence bunu iyileştiriyor ama iPhone 15 Pro veya daha yenisi gerektiriyor ve kapsamı hâlâ sınırlı.

Her iPhone 12+ kullanıcısına Siri üzerinden gerçek bir LLM'e erişim vermek istedik — çevrimdışı, sıfır bulut bağımlılığıyla.

Çift Çıkarım Mimarisi

Cortis'in iki ayrı çıkarım yolu var:

Yol 1: Ön Plan (React Native) Sohbet arayüzü llama.rn kullanır — llama.cpp için React Native JSI bağlamaları. Uygulama açıkken ve sohbet ekranında yazarken çalışır.

Yol 2: Headless (Native Swift/ObjC++) Siri ve Kestirmeler tamamen ayrı bir native çıkarım motoru kullanır. İşte ilginç olan kısım bu.

Siri → AppIntent.perform() → LlamaEngine (Swift) → LlamaBridge (ObjC++) → llama.cpp C API
                                    ↑                                            ↓
                         App Group UserDefaults                         String sonucu döner
                         (model yolu, ayarlar)                          (uygulama hiç açılmaz)

Headless motor, App Group paylaşımlı konteynerinden aktif model yolunu okuyan, modeli ObjC++ köprüsü (LlamaBridge) aracılığıyla yükleyen ve doğrudan llama.cpp C API'sine karşı çıkarım yapan LlamaEngine adlı bir Swift sınıfıdır.

Neden İki Motor?

React Native arka planda çalışamaz. Siri bir App Intent çağırdığında, React Native çalışma zamanı yüklenmez — JavaScript bağlamı yok, köprü yok, JSI yok. Saf native kod gerekir.

ObjC++ köprüsü (LlamaBridge.mm), ham llama.cpp fonksiyonlarını saran bir singleton'dır: model yükleme, tokenizasyon, çözümleme ve örnekleme. Swift katmanı (LlamaEngine.swift) daha üst düzey mantığı yönetir: App Group'tan yapılandırma okuma, aşamalı bellek geri dönüşü ve durdurma dizesi tespiti.

Aşamalı Bellek Geri Dönüşü

iOS'taki arka plan işlemleri, ön plan uygulamalarından çok daha az bellek alır. Uygulamada sorunsuz yüklenen bir model, Siri'den çağrıldığında çökebilir. Çözümümüz: aşamalı geri dönüş.

  1. GPU + 2048 bağlam dene
  2. GPU + 1024'e düş
  3. GPU + 512'ye düş
  4. Sadece CPU + 512'ye düş

Her adım bellek gereksinimlerini azaltır. Motor en güçlü yapılandırmayı dener ve sorunsuz şekilde düşer.

String Döndüren 17 App Intent

Cortis'i Kestirmeler için benzersiz kılan şey budur. Her headless intent ReturnsValue<String> protokolüne uyar — yani yapay zekanın yanıtı, Kestirmeler'in bir sonraki eyleme aktarabileceği düz bir metin olarak döner.

Örnek Kestirmeler zinciri:

  • Safari → Sayfa İçeriğini Al → Cortis: Özetle → Notlar: Not Oluştur
  • Sesli Not → Yazıya Dök → Cortis: Yapılacakları Çıkar → Anımsatıcılar: Ekle

Başka hiçbir cihaz üstü yapay zeka uygulaması Kestirmeler'den string değer döndürmez. Bu, tamamen çevrimdışı yapay zeka otomasyon hatları oluşturmayı mümkün kılar.

Token Limiti ve Siri İçin Optimize Edilmiş Promptlar

Siri, intent yanıtları için yaklaşık 15 saniyelik bir zaman aşımına sahip. iPhone 14'te saniyede yaklaşık 20 token üretildiğinde, bu bize yaklaşık 200 kullanılabilir token verir. Her headless intent çıktıyı 200 token ile sınırlar.

Siri için özel sistem promptları da kullanıyoruz:

  • Düz konuşma metni (markdown yok, emoji yok)
  • Giriş cümlesi yok ("Elbette! İşte..." — Siri bunu yüksek sesle okur ve robotik duyulur)
  • Cortis kendini gizli bir cihaz üstü asistan olarak tanıtır

Kullanıcılar İçin Ne Anlama Geliyor

  1. Siri'ye her şeyi sorun, gerçek bir cevap alın — web arama bağlantısı değil
  2. Kestirmeler ile yapay zeka otomasyonları kurun — özetle, çevir, yeniden yaz, bilgi çıkar — hepsi çevrimdışı
  3. Herhangi bir uygulamadan paylaşın — Safari'de metin seçin, Cortis ile paylaşın, özet alın
  4. Spotlight'tan geçmiş sohbetleri arayın — her sohbet indexlenir

Bu bir hile değil. Bulut yapay zeka uygulamalarından temelden farklı bir mimaridir ve ChatGPT ile Claude'un sunucuya ihtiyaç duydukları için sunamayacağı kullanım senaryolarını mümkün kılar.

Deneyin

Cortis App Store'da mevcut. Siri entegrasyonu, Kestirmeler desteği ve Paylaş Uzantısı ücretsiz planda çalışır — denemek için Pro satın almanıza gerek yok.

Ücretsiz model (Llama 3.2 1B) küçük ama Siri sorguları için yeterince yetenekli. Pro daha büyük modelleri, uzak sunucu çıkarımını ve özel personaları açar.


NERON LLC, gizliliğinize saygı duyan yapay zeka araçları geliştirir. Cortis, iOS ve Android için cihaz üstü yapay zeka asistanımızdır.