İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM

LAB · AÇIK KAYNAK

Prompt Tokenizer

Aynı Türkçe metnin farklı tokenleştiriciler tarafından nasıl parçalandığını metnin üzerinde yan yana gösterecek açık kaynak kitin mimari tasarımı. Eklerin nerede kırıldığını ve token ile karakter sayısı arasındaki oranın bağlam ile maliyet hesabına nasıl girdiğini görmek isteyen geliştirici için.

Durum

Geliştiriliyor

Bu projenin girdi tanımları, arayüz tasarımıyla birlikte yayımlanacak.

Geliştiriliyor

Prompt Tokenizer henüz yayında değil

Bu proje geliştirme listesinde. Yayına girdiğinde bültenle duyurulacak; çalışan araçları Lab sayfasından görebilirsiniz.

02YÖNTEM

Projenin içi

Kurulum, varsayımlar, ölçüm düzeni ve sınırlılıklar.

Kısa cevap

Aynı metnin farklı tokenleştiricilerde nasıl bölündüğünü parça parça gösterecek, kodu yazılmamış bir kitin bileşen ve yapılandırma tarifi.

Ne çözüyor?#

Token sayısı bağlam penceresinin ve maliyetin ortak para birimidir, ama Türkçe metinde bu sayı sezgiyle tahmin edilemez. Ek yığılan bir sözcük bir tokenleştiricide tek parça, başkasında birkaç parça olabilir ve kırılma kökün ortasına da düşebilir. Kit bu bölünmeyi metnin üzerinde görünür kılar: hangi karakter aralığı hangi parçaya gitti, aynı cümle iki tokenleştiricide kaç parçaya ayrıldı. Amaç bir tokenleştiriciyi önermek değil, farkı okunabilir hale getirmektir.

Bileşenler#

BileşenSorumluluğu
Bölme çekirdeğiMetni verilen tokenleştiriciye göre parçalara ayırır ve her parçayı kaynak metindeki karakter aralığına bağlar
Tokenleştirici kayıtçısıKullanılabilir tokenleştiricileri tek arayüz arkasında toplar; tanımı eksik olanı sessizce atlamaz, açıkça bildirir
Hizalama katmanıAynı metnin iki bölmesini karakter aralıkları üzerinden hizalar ve ayrışma noktalarını işaretler
Gösterim bileşeniParçaları metnin akışını bozmadan sınır çizgisi ve renk bandıyla işaretler
Sayım raporuToken ve karakter sayısını, aralarındaki oranı ve parça uzunluk dağılımını döker
Komut satırı kabuğuAynı çekirdeği dosya girdisiyle veya boru hattı içinde çalıştırır

Kurulum akışı#

  1. 1Kiti projeye alma

    Kit yayımlandığında bağımlılık olarak eklenir; tokenleştirici tanımları koddan ayrı bir veri dizininde durur, böylece tanım güncellemesi kod sürümüne bağlanmaz.

  2. 2Tokenleştirici kaydı

    Kullanılacak tokenleştiriciler yapılandırma dosyasında adlarıyla sıralanır. Tanımı bulunmayan bir kayıt çalışma sırasında değil, başlangıçta hata verir.

  3. 3Bölme çağrısı

    Metin çekirdeğe verilir; karşılığında parça listesi ve sayım raporu döner. Gösterim ve komut satırı aynı çıktının üzerine kurulur.

  4. 4Karşılaştırmaya bağlama

    İki bölme hizalama katmanına verilir; ayrışma noktaları gösterim bileşenine işaretli olarak geçer.

Yapılandırmaya bırakılan kararlar#

KararSeçeneklerNeye göre
Tokenleştirici kaynağıYerel sözlük dosyası veya çalışma anında indirilen tanımÇevrimdışı çalışma gereksinimi ve tanımın güncel kalma ihtiyacı
Karşılaştırma genişliğiİki tokenleştirici veya üç ve üzeriSatır başına düşen ekran genişliği; daha fazlası metni okunamaz hale getirir
Parça gösterimiRenk bandı, kesik sınır çizgisi veya yalnızca sayımMetnin okunabilirliğinin mi, sınırların mı öne çıkacağı
NormalleştirmeHam metin veya Unicode normalleştirmesi uygulanmış metinKaynak metnin nereden geldiği; kopyalanan metinde birleşik harfler farklı kodlanabilir
Maliyet paneliKapalı veya birim oranı kullanıcıdan alan açık panelFiyat kitin içinde tutulmaz; oranı kullanan taraf girer

Çıktı sözleşmesi#

Gösterim, komut satırı ve karşılaştırma tek bir veri biçimini okur; böylece arayüz değişse de çekirdek aynı kalır. Her parça kaynak metindeki karakter aralığını taşır, çünkü sınırın nereye düştüğü ancak kaynağa bağlanarak gösterilebilir. Tokenleştirici bir sayısal kimlik vermiyorsa alan boş bırakılır, uydurulmaz.

typescript
type Parca = {
  sira: number;
  metin: string;        // kaynaktaki karşılığı, kırpılmadan
  baslangic: number;    // kaynak metinde karakter ofseti
  bitis: number;
  tokenKimligi: number | null; // tokenleştirici vermiyorsa null
};

type Bolme = {
  tokenlestirici: string;
  parcalar: Parca[];
  tokenSayisi: number;
  karakterSayisi: number;
};

Kapsam dışı#

Kit token sınırlarını gösterir; model çıktısı üretmez, istem kalitesi hakkında yorum yapmaz ve fiyat tablosu taşımaz. Birim maliyet kullanıcının kendi sözleşmesinden gelir, çünkü fiyatlar kitin sürümünden bağımsız değişir. Dil bilgisi çözümlemesi de kapsam dışıdır: parça sınırı bir ek sınırı değildir ve kit bunu iddia etmez.

03ATLAS

Aracın arkasındaki kavramlar

Hesaplayıcı bir kararı hızlandırır; kararın nedenini kavram girdileri anlatır.

04DİĞER PROJELER

Lab'dan

BUILD

Hesap tuttu, sıra uygulamada

Aynı hesabı kendi verinizle yapıp mimariyi kurmak için kurumsal destek alabilirsiniz.