OpenAI
Ang page na ito ay isinalin ng AI. Tingnan ang orihinal na artikulo sa English.

Pagtawag ng function sa OpenAI API

Ano ang pagtawag ng function at paano ito gumagana sa OpenAI API?

Na-update: 27 days ago

Simula Marso 11, 2025, inilabas na namin ang mga building block ng aming bagong Agents platform. Para sa mga detalye, tingnan ang aming API docs para sa aming Responses API, Mga Tool kabilang ang Web Search, File Search, at Computer Use, at ang aming Agents SDK na may Tracing.

Pinapayagan ka ng pagtawag ng function na ikonekta ang mga modelo ng OpenAI sa mga external na tool at system. Kapaki-pakinabang ito para sa maraming bagay, gaya ng pagbibigay ng mga kakayahan sa mga AI assistant, o pagbuo ng malalalim na integration sa pagitan ng iyong mga application at LLM.

Matuto pa sa aming developer guide para sa pagtawag ng function.

Noong Hunyo 2024, inilunsad namin ang mga naka-structure na output. Kapag na-on mo ito sa pamamagitan ng pagtatakda ng strict: true sa iyong function definition, ginagarantiya ng mga naka-structure na output na eksaktong tumutugma ang mga argumentong ginagawa ng modelo para sa isang function call sa JSON Schema na ibinigay mo sa function definition.

Noong Oktubre 2024, inilunsad namin ang feature na “Generate Anything,” na nagbibigay-daan sa mga developer na ilarawan ang isang function, direktang i-paste ito o i-paste ang iyong code at gumawa ng valid na function schema. Matuto pa tungkol sa “Generate Anything” sa artikulo sa help center dito

Paano ko magagamit ang pagtawag ng function?

Kapaki-pakinabang ang pagtawag ng function para sa maraming use case, gaya ng:

  • Pagbibigay-daan sa mga assistant na kumuha ng data:

  • Pagbibigay-daan sa mga assistant na gumawa ng mga aksyon:

  • Pagbibigay-daan sa mga assistant na magsagawa ng computation:

  • Pagbuo ng mayamang workflow:

  • isang data extraction pipeline na kumukuha ng raw text, pagkatapos ay kino-convert ito sa structured data at sine-save ito sa database.

Sinusuportahan ang pagtawag ng function sa Responses API, na pinag-iisa ang mga kakayahang dating hiwa-hiwalay sa Chat Completions API at Assistants API.

Paano ko magagamit ang JSON mode?

Kapag naka-on ang JSON mode, tinitiyak na valid na JSON ang output ng modelo, maliban sa ilang edge case na dapat mong matukoy at mahawakan nang naaangkop.

Para humiling ng JSON mode gamit ang Chat Completions API, itakda ang response_format sa { "type": "json_object" } sa mga sinusuportahang modelo. Sa Responses API, itakda ang text.format sa { "type": "json_object" }, halimbawa text: { "format": { "type": "json_object" } }, kung naaangkop. Sa alinmang API, gumagana lang ang JSON mode kapag natutugunan ang mga prerequisite ng modelo/mensahe/tool (halimbawa, sinusuportahan ng modelo ang json_object, may kasamang mga tagubilin ang usapan para gumawa ng JSON, at compatible ang anumang constraint ng tool). Kailangang maglaman ang kahit isang request message o input message sa effective input context ng json sa anyong hindi sensitibo sa laki/liit ng titik, gaya ng JSON, json, o Json; kung hindi, magbabalik ng error ang API. Sa Responses, hindi sapat ang top-level instructions field lang para sa validation na ito. Kapag ginagamit ang pagtawag ng function sa mga compatible na modelo/path, awtomatikong inilalapat ang mga JSON constraint sa mga argumento ng function call; maaaring tanggihan ang mga hindi compatible na modelo o kombinasyon ng tool/response-format, o maaaring hindi gumamit ng sampling na may JSON constraint.

Mahahalagang tala:

  • Kapag gumagamit ng JSON mode, dapat mong laging utusan ang modelo na gumawa ng JSON sa pamamagitan ng ilang mensahe sa usapan, halimbawa sa pamamagitan ng iyong system message. Kung hindi ka magsasama ng malinaw na tagubilin na gumawa ng JSON, maaaring gumawa ang modelo ng walang katapusang stream ng whitespace at maaaring patuloy na tumakbo ang request hanggang maabot nito ang token limit. Para makatulong na matiyak na hindi mo makakalimutan, tinatanggihan ng JSON mode ang mga request maliban kung naglalaman ang mga kaugnay na input message o tagubilin ng salitang json sa anumang anyo, nang hindi sensitibo sa laki/liit ng titik.

  • Hindi ginagarantiya ng JSON mode na tutugma ang output sa anumang partikular na schema, kundi na valid lang ito at napa-parse nang walang error. Dapat mong gamitin ang mga naka-structure na output para matiyak na tumutugma ito sa iyong schema, o kung hindi iyon posible, gumamit ng validation library at posibleng mga retry para matiyak na tumutugma ang output sa gusto mong schema.

  • Dapat matukoy at mahawakan ng iyong application ang mga edge case na maaaring magresulta sa hindi pagiging kumpletong JSON object ng output ng modelo (tingnan sa ibaba)

Nakatulong ba ang artikulong ito?