İçeriğe geç
edumintsBlog
LLM2 dk okuma

llamadart ile Yerel Embedding'ler: Lamalar Sırlarını Nasıl Paylaşıyor?

Kaynak: dev.to

Paylaş
İçindekiler 3 başlık

Beş karakterin aynı dünyayı paylaştığı Llama Village sanal evreninde, karakterler bildikleri her şeyi birbirine aktarmaz. Pip'in kırmızı atkısı kayıptır; Mo atkının nerede olduğunu ve gölete nasıl düştüğünü bilmekte, ancak kazayı kendine saklamak istemektedir. İki lama konuştuğunda dinleyicinin gerçekten ne öğrenmesi gerektiği sorusu, klasik diyalog akışlarının ötesine geçer. Bu mimaride yerel embedding'ler, konuşmacının söyledikleri ile paylaşılabilecek doğrulanmış gerçekleri karşılaştırmak üzere görev yapar. Nihai hedef; bilginin aktarıldığı, kimin söylediğinin kaydedildiği ve dinleyicinin gerekirse şüphe duyabildiği denetlenebilir bir durum değişikliğidir.

Bir Sır Tek Bir Lama ile Başlar#

Oyun motoru, atkının konumu ile Mo'nun kaza bilgisini birbirinden bağımsız iki gerçek olarak saklar. Birini bilmek diğerini bilmeyi otomatik kılmaz. Diyalog denetlenmeden önce olasılık havuzu daraltılır:

  • Olasılıkların filtrelenmesi: Karşılaştırma iki karakterin tüm replikleri taranarak yapılmaz. Yalnızca konuşmacının bildiği, dinleyicinin ise henüz bilmediği gerçekler seçilir ve sadece konuşanın replikleriyle kıyaslanır.
  • Vektörel eşleme ve kosinüs benzerliği: Eğitilmiş embedding modeli her repliği ve gerçeği sayısal bir vektöre dönüştürür; kosinüs benzerliği (cosine similarity) bu vektörleri kıyaslar. Benzer ifadeler skorları yükseltse de bu skor mantıksal bir evet/hayır testi değildir. Sistem, konuşmacının cümleleri arasındaki en yüksek benzerliği temel alır.
  • EmbeddingGemma ve önbellekleme mimarisi: Uygulama llamadart aracılığıyla EmbeddingGemma çalıştırır ve vektörleri metin bazında önbelleğe (cache) alarak işlem maliyetini düşürür. Metinlerde title: none | text: formatı kullanılır; göreve özgü öneklerin değiştirilmesi benzerlik eşik değerlerinin (thresholds) yeniden test edilmesini gerektirir.

Kelimelerin Birebir Eşleşmesi Gerekmez#

Semantik karşılaştırma, karakterlerin kelimesi kelimesine aynı cümleleri kurmasını gerektirmez:

  • Anlamsal yakınlık: "Pip'in kırmızı atkısı gölet sazlıklarında duruyor" gerçeği ile "Pip'in atkısının gölet kenarındaki sazlarda takıldığını gördüm" repliği farklı sözcüklerle aynı bilgiyi taşır ve yüksek benzerlik üretir.
  • Model ve oyun kurallarının ayrımı: Model yalnızca sayısal vektör ve benzerlik puanı döndürür; "dinleyicinin bilgiyi öğrenip öğrenmediği" kararı oyun kurallarına aittir.
  • Model tutarlılığı: Karşılaştırılan metinlerin aynı model ve uyumlu parametrelerle vektörleştirilmesi şarttır; vektör uzunluklarının eşit olması temsil uyumluluğunu tek başına garanti etmez.

Metni llamadart ile Takip Etmek#

Dart tarafında yerel embedding motoru yüklendiğinde temel çağrılar şu mantıkla yürütülür:

  • Toplu dönüştürme (embedBatch): Bilinen gerçekler topluca normalize edilmiş vektör dizilerine dönüştürülür.
  • Tekil replik işleme (embed): Konuşma satırı önek eklenerek vektörleştirilir ve gerçek vektörleriyle benzerlik matrisi hesaplanır.

Geliştiriciler açısından bu yaklaşım, bulut API bağımlılığı olmadan istemci tarafında deterministik oyun mantığı ile anlamsal yapay zekayı birleştiren hibrit ve maliyetsiz bir mimari sunar.

Kaynak ve atıf

Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • dev.to/gde/local-embeddings-with-llamadart-how-llamas-share-secrets-46o