API OpenAI yang ditiru oleh semua orang bukanlah yang mereka syorkan
Kebanyakan alatan model tempatan seperti Ollama, vLLM, dan LM Studio menggunakan lencana "OpenAI-compatible".
Tetapi terdapat satu masalah. Kebanyakan orang menyangka ini bermaksud satu perkara khusus. Hakikatnya, terdapat dua format yang berbeza. Satu adalah piawaian industri. Satu lagi adalah apa yang sebenarnya OpenAI mahu anda gunakan.
Berikut adalah perinciannya.
The Old Standard: Chat Completions API Ini adalah format yang ditiru oleh semua orang. Ia menggunakan senarai mesej dengan peranan seperti developer, user, dan assistant.
Ia mempunyai dua isu utama:
- Ia bersifat stateless. Anda mesti menghantar semula keseluruhan sejarah perbualan setiap kali.
- Ia berat. Bagi ejen yang kompleks, menghantar transkrip yang besar menjadi perlahan dan mahal.
The New Standard: Responses API OpenAI memperkenalkan ini pada Mac 2025. Ia direka untuk ejen, bukan sekadar bot sembang (chatbot) ringkas.
Mengapa ia lebih baik:
- Ia bersifat stateful. Pelayan mengingati perbualan tersebut. Anda tidak perlu menghantar semula segalanya.
- Ia mengendalikan penaakulan dengan lebih baik. Ia menyimpan 'chain of thought' model pada pelayan.
- Ia menggunakan struktur yang lebih bersih. Ia memisahkan arahan daripada input pengguna yang sebenar.
The Confusion Apabila sesuatu alatan menyatakan ia "OpenAI-compatible", ia hampir sentiasa bermaksud ia menyokong format Chat Completions yang lama.
Industri telah membina ekosistem yang besar di sekeliling format lama ini. Oleh kerana ia ada di mana-mana, ia menjadi lalai (default). Ini mewujudkan risiko di mana semua orang membina klon bagi API peribadi sebuah syarikat tunggal.
The Solution: Open Responses Untuk mengatasi masalah ini, OpenAI dan rakan kongsi seperti Hugging Face dan Vercel telah melancarkan spesifikasi Open Responses.
Daripada meneka bagaimana sesebuah API berfungsi, pembangun kini mempunyai piawaian yang didokumentasikan dan boleh diuji. Ini membolehkan anda bertukar antara OpenAI dan model tempatan dengan perubahan kod yang minimum.
What you should do:
- Jika anda sedang membina projek baharu, gunakan Responses API.
- Jika anda sedang menyelenggara aplikasi lama, Chat Completions akan terus disokong untuk tempoh yang lama.
- Sentiasa semak jika alatan anda menyokong format stateful baharu untuk menjimatkan kos dan kependaman (latency).
Mengetahui perbezaan ini dapat mengelakkan ralat dalam pengiraan token dan struktur mesej.
Source: https://dev.to/rlnorthcutt/the-openai-api-everyone-copied-isnt-the-one-openai-recommends-28o8
Optional learning community: https://t.me/GyaanSetuAi
