13 puan yazan xguru 2024-11-22 | 1 yorum | WhatsApp'ta paylaş
  • OpenAI kısa süre önce Predicted Outputs adlı güçlü bir özelliği duyurdu
  • Teknoloji medyasında çok büyük ilgi görmemiş olsa da, dikkat çekmeyi hak ediyor
  • Bu özellik, API yanıt gecikmesini azaltabilir ve önceden tahmin edilebilir çıktıların üretilme hızını büyük ölçüde artırabilir

Predicted Outputs nedir?

  • Chat Completion API içinde, yanıtın büyük ölçüde öngörülebilir olduğu durumlarda yanıt hızını artıran bir özellik
  • prediction parametresi kullanılarak beklenen çıktı modele verilir ve böylece sonuç daha verimli şekilde üretilebilir
  • Şu anda yalnızca gpt-4o ve gpt-4o-mini modellerinde destekleniyor

Predicted Outputs nasıl çalışır?

  • İçeriğin büyük bölümü zaten tahmin edilebiliyorsa, bu içerik modele bir tahmin değeri olarak verilebilir
  • Model bu tahmin değerini kullanarak yanıt üretimini hızlandırır ve performansı iyileştirir

Örnek: Configuration dosyası güncelleme

  • Bir JSON Conf dosyasını güncellerken Predicted Outputs kullanılabilir
  • Mevcut dosyanın tamamını yeniden üretmek yerine, mevcut dosyayı tahmin değeri olarak verip yalnızca gerekli değişiklikleri istemek yeterlidir
import OpenAI from "openai";  
  
const config = `  
{  
  "appName": "MyApp",  
  "version": "1.0.0",  
  "settings": {  
    "enableFeatureX": false,  
    "maxUsers": 100  
  }  
}  
`.trim();  
  
const openai = new OpenAI();  
  
const updatePrompt = `  
Change "enableFeatureX" to true in the following JSON configuration. Respond only with the updated JSON, without any additional text.  
`;  
  
const completion = await openai.chat.completions.create({  
  model: "gpt-4o",  
  messages: [  
    { role: "user", content: updatePrompt },  
    { role: "user", content: config }  
  ],  
  prediction: {  
    type: "content",  
    content: config  
  }  
});  
  
console.log(completion.choices[0].message.content);  

Örnek: Streaming ve Predicted Outputs

  • Streaming yanıt gerektiren uygulamalarda Predicted Outputs gecikmeyi daha da azaltır
import OpenAI from "openai";  
  
const config = `...`; // mevcut JSON yapılandırma dosyası  
  
const openai = new OpenAI();  
  
const updatePrompt = `...`; // mevcut istek prompt'u  
  
const completion = await openai.chat.completions.create({  
  model: "gpt-4o",  
  messages: [ /* ... */ ],  
  prediction: {  
    type: "content",  
    content: config  
  },  
  stream: true  
});  
  
for await (const chunk of completion) {  
  process.stdout.write(chunk.choices[0]?.delta?.content || "");  
}  

Geliştiriciler için ipuçları

  • Güzel yanı, bunu kullanmak için neredeyse hiçbir ek hazırlık gerekmemesi
  • Mevcut API isteğine yalnızca yeni bir parametre eklemeniz yeterli

Kısıtlar

  • Model uyumluluğu: Yalnızca gpt-4o ve gpt-4o-mini modellerinde kullanılabilir
  • Maliyet: Reddedilen tahmin token'ları da üretilen token'larla aynı şekilde ücretlendirilir. Maliyeti yönetmek için rejected_prediction_tokens izlenmelidir
  • Desteklenmeyen parametreler:
    • n (1'den büyük değerler)
    • logprobs
    • presence_penalty (0'dan büyük değerler)
    • frequency_penalty (0'dan büyük değerler)
    • max_completion_tokens
    • tools (function calling kullanılamaz)
  • Modalite kısıtı: Yalnızca metin modalitesi desteklenir; ses girişi ve çıkışı mümkün değildir

Sonuç

  • OpenAI'nin Predicted Outputs özelliği, yapay zeka uygulamalarında sık görülen gecikme sorununu çözmeye yönelik yenilikçi bir araç
  • Tahmin edilebilir çıktılar sunarak yanıt süresini kısaltır ve kullanıcı deneyimini iyileştirir

1 yorum

 
woung717 2024-11-23

LMQL'e benzer bir his veriyor.