OpenAI
Halaman ini diterjemahkan oleh mesin. Lihat artikel asli dalam bahasa Inggris.

Pemanggilan Fungsi di API OpenAI

Apa itu pemanggilan fungsi dan bagaimana cara kerjanya di API OpenAI?

Diperbarui: 13 days ago

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 kemampuan, atau membangun integrasi mendalam antara aplikasi Anda dan LLM.

Pelajari selengkapnya di panduan developer pemanggilan fungsi kami.

Pada Juni 2024, kami meluncurkan Output Terstruktur. Saat Anda mengaktifkannya dengan menetapkan strict: true dalam definisi fungsi, Output Terstruktur menjamin bahwa argumen yang dihasilkan model untuk panggilan fungsi persis cocok dengan Skema JSON yang Anda berikan dalam definisi fungsi.

Pada Oktober 2024, kami meluncurkan fitur “Hasilkan Apa Saja”, yang memungkinkan developer mendeskripsikan fungsi, menempelkannya secara langsung, atau menempelkan kode Anda dan menghasilkan skema fungsi yang valid. Pelajari selengkapnya tentang “Hasilkan Apa Saja” di artikel pusat bantuan ini

Bagaimana cara menggunakan pemanggilan fungsi?

Pemanggilan fungsi berguna untuk banyak kasus penggunaan, seperti:

  • Memungkinkan asisten mengambil data:

  • Memungkinkan asisten mengambil tindakan:

  • Memungkinkan asisten melakukan komputasi:

  • Membangun alur kerja yang kaya:

  • pipeline ekstraksi data yang mengambil teks mentah, lalu mengubahnya menjadi data terstruktur dan menyimpannya di database.

Pemanggilan fungsi didukung di API Responses, yang menyatukan kemampuan yang sebelumnya terpisah antara API Penyelesaian Obrolan dan API Assistants.

Bagaimana cara menggunakan mode JSON?

Saat mode JSON diaktifkan, output model dipastikan berupa JSON yang valid, kecuali pada beberapa kasus tepi yang harus Anda deteksi dan tangani dengan tepat.

Untuk meminta mode JSON dengan API Penyelesaian Obrolan, atur response_format ke { "type": "json_object" } pada model yang didukung. Dengan API Responses, atur text.format ke { "type": "json_object" }, misalnya text: { "format": { "type": "json_object" } }, jika berlaku. Di kedua API, mode JSON hanya berfungsi saat prasyarat model/pesan/alat terpenuhi (misalnya, model mendukung json_object, percakapan menyertakan instruksi untuk menghasilkan JSON, dan semua batasan alat kompatibel). Setidaknya satu pesan permintaan atau pesan input dalam konteks input efektif harus berisi json dalam bentuk yang tidak peka huruf besar/kecil, seperti JSON, json, atau Json; jika tidak, API akan mengembalikan error. Dalam Responses, kolom instruksi tingkat teratas saja tidak memenuhi validasi ini. Saat pemanggilan fungsi digunakan pada model/jalur yang kompatibel, batasan JSON diterapkan otomatis pada argumen panggilan fungsi; model yang tidak kompatibel atau kombinasi alat/format respons dapat ditolak atau mungkin tidak menggunakan pengambilan sampel yang dibatasi JSON.

Catatan penting:

  • Saat menggunakan mode JSON, Anda harus selalu menginstruksikan model untuk menghasilkan JSON melalui salah satu 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 input atau instruksi yang relevan berisi kata json dalam suatu bentuk, tanpa membedakan huruf besar/kecil.

  • Mode JSON tidak menjamin output cocok dengan skema tertentu, hanya bahwa output tersebut valid dan dapat diurai tanpa error. Anda sebaiknya menggunakan Output Terstruktur untuk memastikan output cocok dengan skema Anda, atau jika itu tidak memungkinkan, gunakan pustaka 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 tidak menjadi objek JSON yang lengkap (lihat di bawah)

Apakah artikel ini membantu?