TotalApp Dökümanlar

Embedding Modeli

Anlamsal Arama için sıralama ve düzenlemeyi güçlendiren yerel Ollama modelini yapılandırma.

Neden Ollama, Neden Yerel?

Anlamsal Arama için embedding'ler her zaman kendi makinenizde 127.0.0.1:11434 adresinde çalışan yerel bir Ollama örneği tarafından hesaplanır. Bu bilinçli bir mimari tercihtir: bilgi kütüphaneniz — potansiyel olarak hassas dokümanlar, notlar veya dahili materyal — sadece sıralanmak için bilgisayarınızdan ayrılmak zorunda kalmaz. TotalApp'in bulutta barındırılan sunucusunun Ollama örneğinize hiçbir ağ yolu yoktur; sıralama her zaman doğrudan tarayıcınızda kendi makinenizle konuşarak gerçekleşir.

Bu aynı zamanda Embedding Engine ayarının, metin üretimi için Yazar Motoru seçiminizden (API, Yerel CLI, Yerel LLM, Ollama) tamamen bağımsız olduğu anlamına gelir — içeriği Anthropic API üzerinden üretirken embedding için tamamen yerel bir Ollama modeli kullanabilir, ya da tam tersini yapabilirsiniz.

Kurulum

  1. Henüz kurmadıysanız makinenize Ollama'yı kurun.
  2. Bir embedding modeli çekin, örn. ollama pull nomic-embed-text.
  3. TotalApp'te Ayarlar → Etmen → Embedding Engine'e gidin.
  4. Ollama bağlantınızın algılandığını doğrulayın (bağlı olarak görünmüyorsa Metin Üretimi Sağlayıcısı altında test edin).
  5. Anlamsal Arama (Embedding Engine) açılır menüsünden embedding modelinizi seçin — burada yalnızca embedding odaklı adlara sahip modeller listelenir ("embed", "bge", "nomic" veya "minilm" içerenler), böylece bir metin üretim modeliyle asla karışmaz.

Model Ayrımı — Burada Neden Bir Sohbet Modeli Seçemezsiniz?

Embedding Engine açılır menüsü yalnızca embedding için tasarlandığını adından belli eden Ollama modellerini listeler (örn. nomic-embed-text, bge-small, all-minilm). Genel amaçlı sohbet/tamamlama modelleri (örn. llama3, deepseek, qwen) bu listeden hariç tutulur — ve çalışma zamanında TotalApp, yanlışlıkla bir sohbet modelinin embedding endpoint'ini çağırmaya karşı koruma sağlar. Bu, iki rolü net bir şekilde ayrı tutar: bir model türü yazı için /api/generate'e konuşur, diğeri sıralama için /api/embeddings'e konuşur.

Alaka Skorlarını Anlamak

İki metin embedding'i arasındaki cosine similarity teorik olarak -1 ile +1 arasında olabilir, ancak nomic-embed-text gibi genel amaçlı modellerden gelen gerçek dünya skorları çok daha dar bir pratik bantta toplanır:

İlişkiTipik skor
Tamamen alakasız metin~%20-40
Alakalı, ilgili metin~%55-75
Neredeyse birebir aynı metin%90+ (nadir)

Alakasız içerik nadiren %0'a yaklaşır, çünkü dil modelleri neredeyse her metinde ortak "genel dil" yapısını paylaşır. Bu normaldir ve beklenir — alakasız bir dokümanda %30 skor bir hata değildir. Uygulama içindeki aynı açıklama için Ayarlar'daki Embedding Engine yanındaki bilgi ipucuna bakın.

Embedding Modeli Olmadan Ne Olur?

Hiçbir şey bozulmaz. Bilgi Kaynaklarım ve her Yazar Aracı'nın Bilgi Kaynağı Ekle penceresi, Anlamsal Arama var olmadan önce çalıştığı gibi çalışmaya devam eder — kaynaklar orijinal sırasında listelenir, sıralamanın şu anda kullanılamadığına dair bir notla birlikte. Sıralama ve Otomatik ekleme, bir embedding modeli yapılandırılmasına bağlı olan tek özelliklerdir.

SSS

Ollama yerine bulut tabanlı bir embedding API kullanabilir miyim?
Şu anda hayır. Ollama tek desteklenen embedding sağlayıcısıdır; gelecekte başkaları eklenebilir.
Hangi embedding modelini seçmeliyim?
nomic-embed-text sağlam bir genel amaçlı varsayılandır. all-minilm gibi daha küçük modeller daha hızlı çalışır ancak daha az hassas sıralayabilir; bge-large gibi daha büyük modeller daha doğrudur ancak her kaynağı embedding'e dönüştürmesi daha yavaştır.
Embedding modelinin, Yazar Motorumun metin üretim modeliyle eşleşmesi gerekir mi?
Hayır. Tamamen bağımsızdırlar — herhangi bir embedding modelini herhangi bir metin üretim motoruyla karıştırıp eşleştirebilirsiniz.
Burada bir sohbet modeli seçmek bir şeyi bozar mı?
Açılır menü her zaman yalnızca adından embedding odaklı olduğu anlaşılan modelleri listeler ve uygulama, embedding olmayan bir modelin embedding olarak ele alınmasına karşı çalışma zamanında koruma sağlar; bu yüzden bunu yanlışlıkla tetikleyemezsiniz.