- OpenAI baru-baru ini memperkenalkan fitur kuat bernama Predicted Outputs
- Meski tidak banyak mendapat sorotan besar dari media teknologi, fitur ini layak diperhatikan
- Fitur ini dapat mengurangi latensi respons API dan secara signifikan meningkatkan kecepatan pembuatan output yang bisa diperkirakan sebelumnya
Apa itu Predicted Outputs?
- Fitur di Chat Completion API yang mempercepat respons ketika jawabannya sebagian besar dapat diprediksi
- Dengan menggunakan parameter
prediction, Anda dapat memberi model output yang diharapkan agar hasil dapat dihasilkan lebih efisien
- Saat ini hanya didukung pada model gpt-4o dan gpt-4o-mini
Cara kerja Predicted Outputs
- Jika sebagian besar konten sudah dapat diperkirakan, konten tersebut bisa diberikan ke model sebagai nilai prediksi
- Model menggunakan nilai prediksi ini untuk mempercepat pembuatan respons dan meningkatkan performa
Contoh: Memperbarui file konfigurasi
- Predicted Outputs dapat dimanfaatkan saat memperbarui file konfigurasi JSON
- Alih-alih membuat ulang seluruh file yang sudah ada, Anda memberikan file lama sebagai nilai prediksi dan hanya meminta perubahan yang diperlukan
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);
Contoh: Streaming dan Predicted Outputs
- Pada aplikasi yang memerlukan respons streaming, Predicted Outputs semakin mengurangi latensi
import OpenAI from "openai";
const config = `...`; // file konfigurasi JSON yang sudah ada
const openai = new OpenAI();
const updatePrompt = `...`; // prompt permintaan yang sudah ada
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 || "");
}
Tips untuk developer
- Hal yang menarik adalah hampir tidak perlu apa pun untuk mulai menggunakannya
- Anda cukup menambahkan parameter baru ini ke permintaan API yang sudah ada
Batasan
- Kompatibilitas model: hanya bisa digunakan pada model gpt-4o dan gpt-4o-mini
- Biaya: token prediksi yang ditolak juga dikenai biaya yang sama seperti token yang dihasilkan. Untuk mengelola biaya, Anda perlu memantau
rejected_prediction_tokens
- Parameter yang tidak didukung:
n (nilai lebih besar dari 1)
logprobs
presence_penalty (nilai lebih besar dari 0)
frequency_penalty (nilai lebih besar dari 0)
max_completion_tokens
tools (pemanggilan fungsi tidak didukung)
- Batasan modalitas: hanya mendukung modalitas teks, dan tidak mendukung input maupun output audio
Kesimpulan
- Predicted Outputs dari OpenAI adalah alat inovatif untuk mengatasi masalah latensi yang umum terjadi pada aplikasi AI
- Dengan menyediakan output yang dapat diprediksi, fitur ini mempersingkat waktu respons dan meningkatkan pengalaman pengguna
1 komentar
Rasanya mirip seperti LMQL.