Setakat 11 Mac 2025, kami telah mengeluarkan blok binaan platform Agents baharu kami. Untuk butiran, lihat dokumen API kami bagi Responses API kami, Alat termasuk Carian Web, Carian Fail, dan Penggunaan Komputer, serta SDK Agents kami dengan Penjejakan.
Pemanggilan fungsi membolehkan anda menghubungkan model OpenAI kepada alat dan sistem luaran. Ini berguna untuk pelbagai tujuan, seperti melengkapkan pembantu AI dengan keupayaan tertentu atau membina integrasi mendalam antara aplikasi anda dengan LLM.
Ketahui lebih lanjut dalam panduan pembangun pemanggilan fungsi kami.
Pada Jun 2024, kami melancarkan Output Berstruktur. Bagi model dan konfigurasi permintaan yang disokong, apabila model mengeluarkan panggilan fungsi, penetapan strict: true dalam takrif fungsi anda memastikan argumen yang dijana mematuhi skema yang diberikan, dengan syarat skema itu menggunakan subset JSON Schema yang disokong dan memenuhi keperluan mod ketat. Permintaan dengan skema yang tidak disokong atau tidak mematuhi ketetapan akan ditolak dengan mesej ralat.
Pada Oktober 2024, kami melancarkan ciri 'Jana Apa-apa Sahaja', yang membolehkan pembangun menerangkan fungsi, menampalnya secara langsung atau menampal kod mereka untuk menjana skema fungsi yang sah. Ketahui lebih lanjut tentang 'Jana Apa-apa Sahaja' dalam artikel pusat bantuan ini.
Bagaimanakah saya boleh menggunakan panggilan fungsi?
Panggilan fungsi berguna untuk banyak kes penggunaan, seperti:
Membolehkan pembantu mendapatkan data:
Membolehkan pembantu mengambil tindakan:
Membolehkan pembantu melakukan pengiraan:
Membina aliran kerja yang kaya:
saluran paip pengekstrakan data yang mendapatkan teks mentah, kemudian menukarkannya kepada data berstruktur dan menyimpannya dalam pangkalan data.
Panggilan fungsi disokong dalam Responses API, yang menyatukan keupayaan yang sebelum ini dipisahkan antara Chat Completions API dan Assistants API.
Bagaimanakah saya boleh menggunakan mod JSON?
Apabila mod JSON dihidupkan, output model dipastikan sebagai JSON yang sah, kecuali dalam beberapa kes pinggir yang perlu anda kesan dan kendalikan dengan sewajarnya.
Untuk meminta mod JSON dengan Chat Completions API, tetapkan response_format kepada { "type": "json_object" } pada model yang disokong. Dengan Responses API, tetapkan text.format kepada { "type": "json_object" }, contohnya text: { "format": { "type": "json_object" } }, jika berkenaan. Dalam mana-mana API, mod JSON hanya berfungsi apabila prasyarat model/mesej/alat dipenuhi (contohnya, model menyokong json_object, perbualan menyertakan arahan untuk menghasilkan JSON, dan sebarang kekangan alat adalah serasi). Sekurang-kurangnya satu mesej permintaan atau mesej input dalam konteks input berkesan mesti mengandungi json dalam bentuk tanpa mengira huruf besar/kecil, seperti JSON, json, atau Json; jika tidak, API akan mengembalikan ralat. Dalam Responses, medan arahan peringkat teratas sahaja tidak memenuhi pengesahan ini. Apabila panggilan fungsi digunakan pada model/laluan yang serasi, kekangan JSON digunakan secara automatik pada argumen panggilan fungsi; model atau gabungan alat/format respons yang tidak serasi mungkin ditolak atau mungkin tidak menggunakan pensampelan yang dikekang JSON.
Nota penting:
Apabila menggunakan mod JSON, anda mesti sentiasa mengarahkan model supaya menghasilkan JSON melalui mesej tertentu dalam perbualan, contohnya melalui mesej sistem anda. Jika anda tidak menyertakan arahan jelas untuk menjana JSON, model mungkin menjana aliran ruang kosong yang tidak berakhir dan permintaan mungkin terus berjalan sehingga mencapai had token. Untuk membantu memastikan anda tidak terlupa, mod JSON menolak permintaan melainkan mesej input atau arahan yang berkaitan mengandungi perkataan
jsondalam apa-apa bentuk, tanpa mengira huruf besar/kecil.Mod JSON tidak menjamin bahawa output sepadan dengan mana-mana skema tertentu; ia hanya menjamin output itu sah dan boleh dihuraikan tanpa ralat. Anda patut menggunakan Output Berstruktur untuk memastikan output sepadan dengan skema anda, atau jika itu tidak dapat dilakukan, gunakan pustaka pengesahan dan mungkin cuba semula untuk memastikan output sepadan dengan skema yang anda kehendaki.
Aplikasi anda mesti mengesan dan mengendalikan kes pinggir yang boleh menyebabkan output model bukan objek JSON yang lengkap (lihat di bawah)
