Artikel ini menguraikan 12 area spesifik di mana standar API yang kompatibel dengan OpenAI menyimpang di berbagai mesin inferensi dan penyedia terhosting, menyebabkan kegagalan diam atau perilaku tak terduga. Meskipun bentuk permintaan inti dan streaming dasar bekerja dengan andal, perbedaan halus dalam penanganan parameter, respons kesalahan, dan dukungan fitur dapat merusak aplikasi.
- Parameter yang tidak diketahui sering kali diabaikan secara diam-diam daripada ditolak dengan kesalahan 400.
- Model penalaran mungkin memerlukan `max_completion_tokens` alih-alih `max_tokens`, dengan penerimaan yang tidak konsisten.
- Statistik penggunaan token sering kali tidak ada dalam respons streaming kecuali diminta secara eksplisit melalui `stream_options`.
- Dukungan pemanggilan alat bervariasi secara signifikan, dengan banyak server yang tidak memiliki panggilan paralel asli atau kepatuhan skema ketat.
- Implementasi mode JSON berbeda antara validasi objek dasar dan dekoding terbatas dengan skema.
- Penanganan overflow konteks berkisar dari kesalahan 400 keras hingga pemotongan diam pada prompt sistem.
- Nilai `finish_reason` mencakup penambahan khusus penyedia di luar standar stop, length, dan tool_calls.
- Amplop kesalahan dan respons pembatasan laju (429, 503, atau 200 dengan kesalahan badan) tidak konsisten.
- Pengaturan suhu pada model penalaran mungkin diabaikan secara internal meskipun diterima.
- Penanganan input multimodal bervariasi dalam batas ukuran, tipe MIME, dan parameter `detail`.
- Titik akhir embedding kurang portabel karena perbedaan dimensionalitas dan normalisasi.
- Kunci idempoten jarang didukung, dan header ID permintaan menggunakan penamaan yang tidak konsisten.
Penulis merekomendasikan penggunaan skrip probe untuk menguji kepatuhan penyedia terhadap perilaku spesifik ini, karena versi model sering berubah dan kegagalan diam dapat sulit didebug dalam produksi.