TOON'u LLM'lerle kullanma
ChatGPT veya Claude'a büyük bir JSON dizisi yapıştırdıysanız, muhtemelen bağlam penceresinin kapanmasının acısını hissetmişsinizdir. JSON, web API'leri için harikadır, ancak Büyük Dil Modelleri (LLM'ler) için inanılmaz derecede israftır. Her bir kayıt için "id":, "name": ve "timestamp": gibi alan adlarının tekrarlanması yalnızca gereksiz değildir; gerçek paraya ve değerli bağlam alanına mal olan tokenleri tüketir.
TOON'un (Tablo Nesne Gösterimi) parladığı yer burasıdır. Bu yalnızca bir veri formatı değildir; LLM etkileşimlerini optimize etmeye yönelik bir stratejidir. TOON, JSON'un sözdizimi vergisini ortadan kaldırarak ve açık yapı başlıkları ekleyerek modellerinize daha fazla veri aktarmanıza ve karşılığında daha güvenilir yapılandırılmış çıktılar almanıza olanak tanır.
TOON'un Token Ekonomisi
Neden format değiştirme zahmetine giresiniz ki? Matematik basittir. Standart bir JSON nesne dizisinde şema her satır için tekrarlanır. 50 kullanıcılı bir listeniz varsa alan adları için 50 kat ödeme yapmış olursunuz.
TOON, şemayı başlıkta bir kez bildirerek bu fazlalığı ortadan kaldırır. Veriler yoğun, akış çizgili bir formatta takip edilir. Pratikte bu, biçimlendirilmiş JSON'a kıyasla tek tip diziler için genellikle belirteç kullanımında %30-60'lık bir azalma ile sonuçlanır. Çok büyük bağlam pencereleriyle veya yüksek hacimli API çağrılarıyla uğraşırken, bu verimlilik doğrudan daha düşük faturalara ve daha düşük gecikmeye dönüşür.
Veri Gönderme: "Göster, Söyleme" Kuralı
Verileri analiz etmek için yüksek lisansa ihtiyacınız olduğunda, hızlı stratejiniz çok önemlidir. Yeni başlayanlar genellikle veri formatını açıklayan uzun paragraflar yazar. TOON ile bunu yapmanıza gerek yok.
LLM'ler model eşleştirme motorlarıdır. TOON'u sezgisel olarak anlıyorlar çünkü eğitim sırasında milyarlarca kez gördükleri YAML ve CSV formatlarının bir karışımı gibi görünüyor.
Veri göndermek için onu çitlerle çevrili bir kod bloğuna sarmanız yeterlidir. Bunu 'çizgi film' olarak etiketleyebilirsiniz, ancak modelin sözdizimi vurgulayıcısı resmi olarak desteklemese bile model yapıyı hemen anlar.
Giriş Örneği
Şemayı tanımlamak yerine bloğu sağlayın:
users[3]{id,name,role,lastLogin} başlığı modele bilmesi gereken her şeyi anlatır: varlık türü, sayı (3 satır) ve alanların sırası. Girinti hiyerarşiyi yönetir. Bu "kendi kendini belgeleme" niteliği, sözdizimi ayrıştırma talimatları yerine gerçek mantık görevine odaklanma isteğinizi serbest bırakır.
İşte kullanıcı etkinliği günlüğü. Veriler TOON formatındadır (2 boşluklu girinti, açık başlıklar).
kullanıcılar[3]{id,name,role,lastLogin}:
1,Alice,admin,2025-01-15T10:30:00Z
2,Bob,kullanıcı,2025-01-14T15:22:00Z
3,Charlie,kullanıcı,2025-01-13T09:45:00Z
Görev: Günlükleri analiz edin ve hangi kullanıcıların son 24 saat içinde oturum açmadığını belirleyin.
''''
Güvenilir Çıktı Oluşturma
Verileri okumak için Yüksek Lisans diplomasına sahip olmak kolaydır; onu geçerli yapılandırılmış verilere generate ulaştırmak işin zor kısmıdır. Modeller halüsinasyon görmeyi, JSON'u kısaltmayı veya diş tellerini kapatmayı unutmayı sever.
TOON, başlık sözdizimi, özellikle de "[N]" sayısı aracılığıyla bir güvenlik katmanı ekler. Bir modelden TOON çıktısı almasını istediğinizde, veriyi oluşturmadan önce bir yapıya bağlı kalmasını istiyorsunuz.
Nesil için İstemde Bulunmak
En iyi sonuçları elde etmek için beklediğiniz başlık biçimini sağlayın ve modele satırları doldurması talimatını verin.
Modelden "[N]" hesaplamasını isteyerek, modelin çıktı boyutunu planlaması gereken bir "düşünce zinciri" sürecini zorlamış olursunuz. Görünüşte küçük olan bu kısıtlama, modelin listenin yarısında kesilmesi olasılığını önemli ölçüde azaltır.
Görev: "Kullanıcı" rolüne sahip etkin kullanıcıların listesini döndürün.
Biçim: TOON'u kullanın. Başlıktaki [N] değerini, oluşturduğunuz satırların tam sayısıyla eşleşecek şekilde ayarlayın.
Beklenen format:
kullanıcılar[N]{id,name,role,lastLogin}:
''''
Katı Modla Doğrulama
LLM'den yanıt aldığınızda ona güvenmemelisiniz. TOON kütüphanesinin katı modunun üretim uygulamaları için süper güç haline geldiği yer burasıdır.
TypeScript kitaplığını kullanıyorsanız katı modla kod çözme, oluşturulan satırların başlık sayısıyla eşleştiğini doğrular:
Bu, uygulamanızdaki kötü verileri keşfetmek yerine programlı olarak "tembel" model çıktılarını veya ağ kesintilerini anında yakalamanıza olanak tanır.
'@toon-format/toon'dan { decode }'u içe aktarın;
dene {
// Model [5] diyor ancak 4 satır sağlıyorsa bu bir hata atar.
const veri = decode(modelOutput, { strict: true });
console.log('Geçerli veri alındı:', veri);
} yakalamak (hata) {
console.error('Model halüsinasyonu veya kesilmesi algılandı:', error.message);
}
''''
Gelişmiş Optimizasyon: Sekme Hilesi
Optimizasyon konusunda takıntılıysanız (ve LLM dünyasında muhtemelen öyle olmalısınız), sınırlayıcılarınızı akıllıca seçerek daha da fazla verimlilik elde edebilirsiniz.
Virgüller standarttır, ancak sekmeler (\t) çoğu simgeleştirici kelime dağarcığında genellikle tek bir simge olarak temsil edilir. Ayrıca, sekmeler nadiren doğal metin alanlarının içinde görünür, bu da kaçış karakterlerine olan ihtiyacı azaltır (dizeleri tırnak içine almak gibi).
Verilerinizi modele göndermeden önce sekmeleri kullanarak kodlayabilirsiniz:
İstemde modeli bilgilendirmeyi unutmayın: "Veriler sekmeyle ayrılmıştır TOON." Bu, modelin ayrıştırması ve oluşturması son derece kolay olan hiper kompakt bir temsil oluşturur.
const toonPrompt = kodlama(veri, { sınırlayıcı: '\t' });
''''
Eksiksiz Bir İş Akışı Örneği
Gerçek dünyadaki bir senaryoya bakalım: sistem günlüklerinin filtrelenmesi. Ham günlükleri modele göndermek ve yapılandırılmış bir hata listesi almak istiyorsunuz.
İstem:
Model Çıktısı:
TOON formatındaki sistem günlükleri (sekmeyle ayrılmış):
etkinlikler[4]{id,level,message,timestamp}:
1,hata,Bağlantı zaman aşımı,2025-01-15T10:00:00Z
2,uyar,Yavaş sorgu,2025-01-15T10:05:00Z
3,bilgi,Kullanıcı girişi,2025-01-15T10:10:00Z
4,hata,Veritabanı hatası025-01-15T10:15:00Z
Görev: 'Hata' düzeyine sahip tüm olayları çıkarın. Sonucu, güncellenmiş başlık sayısıyla birlikte geçerli TOON olarak döndürün.
''''
Sonuç:
etkinlikler[2]{id,level,message,timestamp}:
1,hata,Bağlantı zaman aşımı,2025-01-15T10:00:00Z
4,hata,Veritabanı hatası,2025-01-15T10:15:00Z
''''
Model, listeyi doğru şekilde filtreledi ve en önemlisi başlığı "olaylar[2]" olarak güncelledi. Bu yanıtın kodunu çözerek uygulama mantığınız için hazır, temiz, tür açısından güvenli bir dizi elde edersiniz.
Özet
TOON, insan tarafından okunabilirlik ile makine verimliliği arasındaki boşluğu dolduruyor. Sağlam yazılım geliştirme için gereken yapıyı sağlarken Yüksek Lisans'ın maliyet kısıtlamalarına saygı duyar.
- Küçük tutun: Örneklerinizde 2-5 satır kullanın; model genelleştirilecektir.
- Açık olun: Modelin şemayı bilmesi için başlıkları net bir şekilde tanımlayın.
- Kesinlikle doğrulayın: Oluşturma hatalarını yakalamak için formatın meta verilerini kullanın.
Hızlı veri yükleriniz için JSON'dan uzaklaşarak yalnızca belirteçlerden tasarruf etmekle kalmaz, aynı zamanda daha güvenilir bir AI işlem hattı oluşturursunuz.