OpenAI
Šis puslapis buvo išverstas mašininiu būdu. Peržiūrėti originalų straipsnį anglų kalba.

Funkcijų kvietimas OpenAI API

Kas yra funkcijų kvietimas ir kaip jis veikia OpenAI API?

Atnaujinta: 23 days ago

Nuo 2025 m. kovo 11 d. pristatėme naujosios agentų platformos pagrindinius komponentus. Išsamesnės informacijos rasite mūsų API dokumentacijoje apie Responses API, įrankius, įskaitant Web Search, File Search ir Computer Use, taip pat mūsų Agents SDK su Tracing.

Funkcijų kvietimas leidžia prijungti OpenAI modelius prie išorinių įrankių ir sistemų. Tai naudinga daugeliui dalykų, pavyzdžiui, suteikiant AI asistentams daugiau galimybių arba kuriant gilias integracijas tarp jūsų programų ir LLM.

Daugiau sužinokite mūsų funkcijų kvietimo kūrėjo vadove.

2024 m. birželį pristatėme susistemintas išvestis. Kai funkcijos apibrėžime įjungiate jas nustatydami strict: true, susistemintos išvestys garantuoja, kad modelio sugeneruoti funkcijos kvietimo argumentai tiksliai atitiks JSON schemą, kurią pateikėte funkcijos apibrėžime.

2024 m. spalį pristatėme funkciją „Generuoti bet ką“, kuri leidžia kūrėjams aprašyti funkciją, ją tiesiogiai įklijuoti arba įklijuoti savo kodą ir sugeneruoti galiojančią funkcijos schemą. Daugiau apie „Generuoti bet ką“ sužinokite šiame pagalbos centro straipsnyje

Kaip naudoti funkcijų kvietimą?

Funkcijų kvietimas naudingas daugeliu naudojimo atvejų, pvz.:

  • Leidimas asistentams gauti duomenis:

  • Leidimas asistentams atlikti veiksmus:

  • Leidimas asistentams atlikti skaičiavimus:

  • Išplėtotų darbo eigų kūrimas:

  • duomenų išgavimo konvejeris, kuris gauna neapdorotą tekstą, tada paverčia jį struktūriniais duomenimis ir išsaugo duomenų bazėje.

Funkcijų kvietimas palaikomas Responses API, kuri suvienija galimybes, anksčiau buvusias atskirai pokalbių užbaigimo API ir asistentų API.

Kaip naudoti JSON režimą?

Įjungus JSON režimą užtikrinama, kad modelio išvestis būtų galiojantis JSON, išskyrus kai kuriuos ribinius atvejus, kuriuos turėtumėte aptikti ir tinkamai apdoroti.

Norėdami paprašyti JSON režimo naudodami pokalbių užbaigimo API, palaikomuose modeliuose nustatykite response_format į { "type": "json_object" }. Naudodami Responses API, nustatykite text.format į { "type": "json_object" }, pavyzdžiui, text: { "format": { "type": "json_object" } }, kai taikoma. Abiejose API JSON režimas veikia tik tada, kai tenkinamos modelio / pranešimo / įrankio būtinosios sąlygos (pvz., modelis palaiko json_object, pokalbyje yra nurodymų sukurti JSON, o visi įrankių apribojimai yra suderinami). Bent viename užklausos pranešime arba įvesties pranešime faktiniame įvesties kontekste turi būti json forma, neskiriant didžiųjų ir mažųjų raidžių, pvz., JSON, json arba Json; priešingu atveju API grąžina klaidą. Naudojant Responses, vien aukščiausio lygio instrukcijų laukas šios patikros netenkina. Kai funkcijų kvietimas naudojamas suderinamuose modeliuose / keliuose, JSON apribojimai automatiškai taikomi funkcijos kvietimo argumentams; nesuderinami modeliai arba įrankio / atsakymo formato deriniai gali būti atmesti arba gali nenaudoti JSON apribotos generavimo atrankos.

Svarbios pastabos:

  • Naudodami JSON režimą, visada turite nurodyti modeliui sukurti JSON per kurį nors pokalbio pranešimą, pavyzdžiui, per sistemos pranešimą. Jei neįtrauksite aiškaus nurodymo generuoti JSON, modelis gali generuoti nesibaigiantį tarpų srautą, o užklausa gali nuolat veikti, kol pasieks žetonų limitą. Kad nepamirštumėte, JSON režimas atmeta užklausas, jei atitinkamuose įvesties pranešimuose ar instrukcijose nėra žodžio json kokia nors forma, neskiriant didžiųjų ir mažųjų raidžių.

  • JSON režimas negarantuoja, kad išvestis atitiks kokią nors konkrečią schemą, tik tai, kad ji bus galiojanti ir išanalizuojama be klaidų. Turėtumėte naudoti susistemintas išvestis, kad užtikrintumėte atitiktį savo schemai, o jei tai neįmanoma, turėtumėte naudoti tikrinimo biblioteką ir galbūt pakartotinius bandymus, kad užtikrintumėte, jog išvestis atitinka jūsų pageidaujamą schemą.

  • Jūsų programa turi aptikti ir apdoroti ribinius atvejus, dėl kurių modelio išvestis gali nebūti užbaigtas JSON objektas (žr. toliau)

Ar šis straipsnis buvo naudingas?