- 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
LMQL'e benzer bir his veriyor.