11 puan yazan GN⁺ 2024-08-07 | 2 yorum | WhatsApp'ta paylaş
  • API'ye "Structured Outputs" eklendi
    • Geliştiricinin sağladığı JSON şemasına model çıktısının tam olarak uymasını sağlayan yeni bir özellik
    • Geçen yılki DevDay'de JSON modu tanıtılmıştı, ancak belirli bir şemaya uyan yanıtları garanti etmiyordu
    • Yapılandırılmış çıktılar, model çıktısını geliştiricinin sağladığı şemaya göre sınırlar ve modeli karmaşık şemaları daha iyi anlayacak şekilde eğitir
  • Yapılandırılmış çıktılara neden ihtiyaç var
    • Yapılandırılmamış girdilerden yapılandırılmış veri üretmek, yapay zekanın temel kullanım senaryolarından biri
    • OpenAI API kullanılarak veri alma, soru yanıtlama, veri çıkarma, çok adımlı iş akışları kurma gibi çeşitli işler yapılabiliyor
    • Daha önce model çıktısını sistemlerle birlikte çalışabilir bir biçime uydurmak için açık kaynak araçlar, istemler ve yeniden denemeler gibi ek çabalar gerekiyordu
    • Yapılandırılmış çıktılar bu sorunu çözüp model çıktısını geliştiricinin sağladığı şemaya göre sınırlar
  • Performans değerlendirmesi
    • Karmaşık JSON şemalarına uyumu ölçen değerlendirmede gpt-4o-2024-08-06 modeli %100 puan aldı
    • gpt-4-0613 modeli ise %40'ın altında kaldı
  • Yapılandırılmış çıktılar nasıl kullanılır
    • Fonksiyon çağrısı yoluyla yapılandırılmış çıktı: fonksiyon tanımı içinde strict: true ayarı
      • Tüm araçları destekleyen modellerde kullanılabiliyor
  • Güvenli yapılandırılmış çıktılar
    • OpenAI'nin mevcut güvenlik politikalarına uyuyor
    • Model güvenli olmayan istekleri reddedebilir
    • API yanıtında bir reddetme dizesi değeri bulunur; böylece modelin reddetme üretip üretmediği programatik olarak tespit edilebilir
  • Yerel SDK desteği
    • Python ve Node SDK'ları yapılandırılmış çıktıları yerel olarak destekliyor
    • Pydantic veya Zod nesneleri verilerek bunlar JSON şemasına dönüştürülüyor; JSON yanıtları da otomatik olarak serileştirilip ayrıştırılıyor
  • Kısıtlar
    • JSON şemasının yalnızca bir bölümü destekleniyor
    • Yeni bir şemayla yapılan ilk API yanıtında ek gecikme oluşuyor
    • Model güvenli olmayan istekleri reddedebilir
    • Paralel fonksiyon çağrılarıyla uyumlu değil
    • Yapılandırılmış çıktılar Zero Data Retention (ZDR) kapsamında değil
  • Kullanılabilirlik
    • Yapılandırılmış çıktılar API'de genel kullanıma açık
    • Fonksiyon çağrısı yoluyla yapılandırılmış çıktılar, fonksiyon çağrısını destekleyen tüm modellerde kullanılabiliyor
    • Yanıt biçimi seçeneği en yeni modellerde kullanılabiliyor

GN⁺ Özeti

  • OpenAI'nin yeni özelliği yapılandırılmış çıktılar, model çıktısının JSON şemasıyla tam eşleşmesini sağlıyor
  • Geliştiriciler bununla veri alma, soru yanıtlama, veri çıkarma gibi işleri daha güvenilir biçimde yapabiliyor
  • Python ve Node SDK'larında yerel destek sunulduğu için geliştirme kolaylaşıyor
  • Yapılandırılmamış veriden yapılandırılmış veri çıkarma gibi ek kullanım senaryoları bulunuyor
  • Geçerli JSON üretimini sağlamak için constrained decoding tekniğiyle model çıktısı sınırlandırılıyor

2 yorum

 
bluejoyq 2024-08-08

İlginç bir özellikmiş.

 
GN⁺ 2024-08-07
Hacker News yorumları
  • GPT-4o kullanarak dinamik UI ve kod geliştiriliyor

    • JSON modu kullanıldığında güvenilir biçimde çalışıyor
    • GPT-4o-mini'de biçim sorunlarını çözmeye yardımcı olacaktır
    • Fonksiyon çağırma modunda başarı oranı JSON moduna göre daha düşük
    • Bu özellik için beklenti yüksek
  • gpt-4o-2024-08-06 sürümündeki başlıca değişiklikler

    • Çıktı token sınırı 4k'dan 16k'ya çıktı
    • Girdi maliyeti %50, çıktı maliyeti %33 azaldı
    • API kullanıcıları için önemli bir değişiklik
  • vLLM'de Outlines Structured Output kullanma deneyimi

    • OpenAI'nin Structured Output özelliğinden daha gelişmiş yetenekler sunuyor
    • Sınırlı alan türü desteği
      • OpenAI yalnızca String, Number, Boolean gibi temel türleri destekliyor
      • Outlines düzenli ifade kalıpları tanımlamaya izin veriyor
    • Yüksek şema kurulum maliyeti ve gecikme süresi
      • vLLM ve Outlines neredeyse hiç maliyet yaratmıyor
      • OpenAI'de bağlamdan bağımsız dil bilgisi üretimi zaman alıyor
    • OpenAI için ilk adım olarak iyi bir başlangıç, ancak daha da gelişmesi gerekiyor
  • Yapay zeka performansına dair görüş

    • Yapay zekanın çıktı biçimini belirtmesi, eski bir sorunu çözme yöntemi
    • Doğal dil işleme ve problem çözme yeteneği şaşırtıcı ölçüde ilerledi
    • Ancak bu sonucu elde etmek için muazzam hesaplama gerekiyor
  • OpenAI'nin yaklaşımına dair görüş

    • Yapılandırılmış çıktı için ince ayar yaklaşımından vazgeçildi
    • llama.cpp bu özelliği zaten 1,5 yıl önce uygulamıştı
  • "strict: true" seçeneğine dair kafa karışıklığı

    • Bu her zaman istenen davranış olduğundan varsayılan olmalı
    • Kısıtlı decoding tekniği hakkında bilgi edinildi
      • Güvenilirliği artırabilir ve gecikmeyi azaltabilir
  • JSON'u modele sabit kodlamanın AGI hedefiyle ters yönde olduğu görüşü

  • OpenAI özellikleri kullanılırken kilitlenme etkisine dair endişe

    • Başka LLM'lere kolayca geçiş yapılamıyor
    • Yalnızca metin istemleri yeterli olmadığında kullanılması öneriliyor
  • JSON biçim hatasına dair bir not

    • {“val{“:2} geçerli bir JSON'dur
  • En üst seviyenin neden nesne olmak zorunda olduğuna dair soru

    • Diziyi bir nesne içine sarmanın yarattığı rahatsızlık var