
Sohbet arayüzü, Memo'nun birincil etkileşim yüzeyidir. Gerçek zamanlı akış, zengin içerik render'ı ve yerel arka uçla derin entegrasyonu destekler.
Mesajlar Sunucu Tarafı Olaylar (SSE) üzerinden token-token iletilir. Go arka ucu, çıkarım motoru token ürettikçe akışa gönderir:
// Arka uç SSE işleyici kalıbı
w.Header().Set("Content-Type", "text/event-stream")
w.Header().Set("Cache-Control", "no-cache")
w.Header().Set("Connection", "keep-alive")
for token := range llm.Stream(ctx, prompt) {
fmt.Fprintf(w, "data: %s\n\n", token)
flusher.Flush()
}
Flutter ön yüzü, Riverpod durum güncellemeleri aracılığıyla her token'ı anında render eder ve modelin gerçek zamanlı "yazıyor" görünümünü oluşturur.
Tüm model yanıtları GitHub-Flavored Markdown olarak ayrıştırılır ve tam destekle render edilir:
| Format | Destek |
|---|---|
| Başlıklar | Bağlantı kimlikli H1–H6 |
| Kod Blokları | highlight.js ile sözdizimi vurgulama (Go, Python, JS, Bash, YAML, JSON, Dart) |
| Satır İçi Kod | Bronz vurgulu tek aralıklı yazı tipi |
| Tablolar | Duyarlı, çizgili vurgulu satırlar |
| Listeler | Sıralı ve sırasız, iç içe |
| Alıntılar | Stil verilmiş çağrı blokları ([!NOTE], [!WARNING], [!TIP], [!DANGER]) |
| Bağlantılar | Otomatik bağlantılı URL'ler, dahili belge çapraz referansları |
| Görüntüler | Markdown görüntü sözdiziminden satır içi render |
Dosya veya görüntüleri doğrudan sohbet giriş alanına sürükleyip bırak:
Sohbet girişinde / yazarak komut paletini aç:
| Komut | Eylem |
|---|---|
/agent |
Araç çağrı iş akışları için Ajan Modunu etkinleştir |
/orchestra |
Uzman rollerle Orkestra Modunu başlat |
/search |
Anlamsal sorgu ile RAG hafızada ara |
/model |
Aktif modeli değiştir |
/incognito |
Gizli modu aç/kapat |
/clear |
Mevcut sohbeti temizle |
/export |
Sohbeti Markdown olarak dışa aktar |
Konuşmadan metne dönüştürme, uygulama ile birlikte gelen whisper.cpp üzerinden tamamen cihaz üstünde çalışır:
# whisper.cpp, Go arka ucu tarafından yönetilen bir alt süreç olarak çalışır
whisper-cli -m models/ggml-base.bin -f audio.wav -l auto
Etkinleştirildiğinde sohbet, yanıtları canlı web arama sonuçlarıyla zenginleştirebilir. Arama sorguları sohbet bağlamından çıkarılır, yapılandırılabilir arama sağlayıcıları üzerinden yürütülür ve üretimden önce modelin bağlam penceresine enjekte edilir.
Geçici oturumlar oluşturmak için gizli modu aç. Bu modda:
Hassas görüşmeler, tek seferlik sorgular veya hafıza deponu kirletmeden model davranışını test etmek için gizli modu kullan.
marked aracılığıyla