13 poin oleh xguru 2024-11-22 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
woung717 2024-11-23

Rasanya mirip seperti LMQL.