Per 11 Maret 2025, kami telah merilis komponen dasar dari platform agen baru kami. Untuk detailnya, lihat dokumentasi API kami untuk Responses API, Tools termasuk Web Search, File Search, dan Computer Use, serta Agents SDK kami dengan Tracing.
pemanggilan fungsi memungkinkan Anda menghubungkan model OpenAI ke alat dan sistem eksternal. Ini berguna untuk banyak hal, seperti memberdayakan asisten AI dengan berbagai kemampuan, atau membangun integrasi mendalam antara aplikasi Anda dan LLM.
Pelajari lebih lanjut di panduan developer pemanggilan fungsi kami.
Pada Juni 2024, kami meluncurkan Structured Outputs. Saat Anda mengaktifkannya dengan menetapkan `strict: true` dalam definisi fungsi, Structured Outputs menjamin bahwa argumen yang dihasilkan model untuk pemanggilan fungsi sama persis dengan JSON Schema yang Anda berikan dalam definisi fungsi.
Pada Oktober 2024, kami meluncurkan fitur 'Generate Anything', yang memungkinkan developer mendeskripsikan sebuah fungsi, menempelkannya langsung, atau menempelkan kode Anda dan menghasilkan skema fungsi yang valid. Pelajari lebih lanjut tentang 'Generate Anything' di artikel pusat bantuan ini
Bagaimana saya dapat menggunakan pemanggilan fungsi?
pemanggilan fungsi berguna untuk banyak kasus penggunaan, seperti:
Memungkinkan asisten mengambil data:
seorang asisten AI perlu mengambil data pelanggan terbaru dari sistem internal ketika pengguna bertanya, “apa pesanan terbaru saya?” sebelum dapat menghasilkan respons untuk pengguna
Memungkinkan asisten melakukan tindakan:
seorang asisten AI perlu menjadwalkan rapat berdasarkan preferensi pengguna dan ketersediaan kalender.
Memungkinkan asisten melakukan komputasi:
seorang asisten tutor matematika perlu melakukan perhitungan matematika.
Membangun alur kerja yang kaya:
pipeline ekstraksi data yang mengambil teks mentah, lalu mengubahnya menjadi data terstruktur dan menyimpannya dalam database.
pemanggilan fungsi didukung di Responses API, yang menyatukan kapabilitas yang sebelumnya terpisah di API Penyelesaian Obrolan dan Assistants API.
Bagaimana saya dapat menggunakan mode JSON?
Saat mode JSON diaktifkan, output model dipastikan berupa JSON yang valid, kecuali dalam beberapa kasus tepi yang harus Anda deteksi dan tangani dengan tepat.
Untuk meminta mode JSON dengan Responses API atau API Penyelesaian Obrolan, Anda dapat menetapkan response_format ke { "type": "json_object" } pada model yang didukung, tetapi ini hanya berfungsi ketika prasyarat model/pesan/alat terpenuhi (misalnya, model mendukung json_object, percakapan menyertakan instruksi untuk menghasilkan JSON, dan batasan alat apa pun kompatibel). Untuk mode JSON dengan response_format: {"type": "json_object"}, setidaknya satu pesan permintaan harus memuat json dalam bentuk apa pun, seperti JSON, json, atau Json; jika tidak, API akan mengembalikan error. Saat pemanggilan fungsi digunakan pada model/jalur yang kompatibel, batasan JSON diterapkan secara otomatis pada argumen pemanggilan fungsi; model yang tidak kompatibel atau kombinasi alat/format respons mungkin ditolak atau mungkin tidak menggunakan sampling terbatas JSON.
Catatan penting:
Saat menggunakan mode JSON, Anda harus selalu menginstruksikan model untuk menghasilkan JSON melalui suatu pesan dalam percakapan, misalnya melalui pesan sistem Anda. Jika Anda tidak menyertakan instruksi eksplisit untuk menghasilkan JSON, model dapat menghasilkan aliran spasi kosong tanpa akhir dan permintaan dapat terus berjalan hingga mencapai batas token. Untuk membantu memastikan Anda tidak lupa, mode JSON menolak permintaan kecuali pesan atau instruksi input yang relevan memuat kata
jsondalam bentuk apa pun, tanpa membedakan huruf besar/kecil.mode JSON tidak menjamin output cocok dengan skema tertentu, hanya bahwa output tersebut valid dan dapat di-parse tanpa error. Anda sebaiknya menggunakan Structured Outputs untuk memastikan kecocokan dengan skema Anda, atau jika itu tidak memungkinkan, gunakan library validasi dan mungkin percobaan ulang untuk memastikan output cocok dengan skema yang Anda inginkan.
Aplikasi Anda harus mendeteksi dan menangani kasus tepi yang dapat menyebabkan output model bukan objek JSON lengkap (lihat di bawah)
