
Memo, görüntü ve konuşmayı yerel olarak destekler — tüm işleme cihaz üstünde gerçekleşir, hiçbir veri makinenden çıkmaz.
Memo, çok modlu GGUF modellerini kullanarak görüntüleri analiz edebilir. Görüntüler tamamen yerel olarak işlenir.
Kullanıcı görüntü sürükler ──▶ Base64 kodla ──▶ GGUF modele gönder ──▶ Yanıtı akışa al
(yerel) (bellekte) (llama.cpp sunucu) (SSE token)
Desteklenen formatlar: PNG, JPEG, GIF, WebP, BMP.
Görüntüler, çok modlu modele gönderilmeden önce bellekte Base64 olarak kodlanır. Kodlama istemci tarafında (Flutter) gerçekleştirilir ve ham baytlar Go arka ucu üzerinden doğrudan yerel llama.cpp sunucusuna iletilir. Sohbet günlüğüne eklemeyi seçmediğin sürece diskte hiçbir görüntü verisi saklanmaz.
// İstemci tarafı Base64 kodlama
final bytes = await imageFile.readAsBytes();
final base64 = base64Encode(bytes);
// HTTP üzerinden yerel arka uca gönderilir
Görüntü analizi, çok modlu bir GGUF modeli gerektirir. Güncel öneriler:
| Model | Boyut | Kalite | Notlar |
|---|---|---|---|
llava-v1.6-mistral-7b |
~4 GB (Q4_K_M) | İyi | Geniş görsel anlayış |
llava-v1.6-vicuna-7b |
~4 GB (Q4_K_M) | İyi | Detaylı altyazılarla ince ayarlı |
bakllava-1.5-7b |
~4 GB (Q4_K_M) | Yeterli | Hafif alternatif |
Bu modeller Fabrika model mağazasında "Görüntü" etiketi filtrelenerek bulunabilir.
Kullanıcı: [hata diyaloğunun fotoğrafını ekler]
Bu hata ne anlama geliyor ve nasıl düzeltirim?
Memo: "ENOSPC: no space left on device" hatası, diskinizin dolu
olduğu anlamına gelir. İşte alan boşaltma yöntemleri...
Ses girişi, internet bağımlılığı olmadan yerel bir alt süreç olarak çalışan whisper.cpp kullanır.
Mikrofon ──▶ Ses yakalama (WAV) ──▶ whisper.cpp ──▶ Yazıya dökülen metin ──▶ Sohbet girişi
(Flutter) (16kHz mono) (yerel ikili) (UTF-8 string) (gönderime hazır)
whisper-cli \
--model models/ggml-base.bin \
--file /tmp/memo_audio.wav \
--language auto \
--output-txt
ggml-base.bin (~142 MB, paketle gelir veya ilk kullanımda indirilir)--language auto Türkçe (TR) ve İngilizce (EN) otomatik algılarwhisper.cpp, ses sinyalinden konuşulan dili otomatik olarak tanımlar. Memo'nun paketli modeli şu diller için optimize edilmiştir:
| Dil | Algılama Doğruluğu | Transkripsiyon Kalitesi |
|---|---|---|
| Türkçe (TR) | Yüksek | Çok iyi |
| İngilizce (EN) | Yüksek | Mükemmel |
| Karma TR/EN | İyi | İyi (kod değiştirme desteklenir) |
Fabrika'dan ggml-large.bin modeli indirilerek ek diller kullanılabilir.
En iyi STT doğruluğu içinggml-small.binveyaggml-medium.binmodelini kullan. Temel model hız için optimize edilmiştir ancak daha büyük modeller özellikle Türkçe için daha iyi doğruluk sunar.
| Özellik | Durum |
|---|---|
| Görüntü: GGUF ile görüntü analizi | Kararlı |
| Görüntü: çoklu görüntü karşılaştırma | Planlandı |
| STT: cihaz üstü whisper.cpp | Kararlı |
| STT: gerçek zamanlı akış transkripsiyonu | Planlandı |
| TTS: cihaz üstü metinden konuşmaya (piper) | Planlandı |
| Görüntü: ekran görüntüsü analizi | Planlandı |