OpenAI
Ta stran je bila strojno prevedena. Oglejte si izvirni članek v angleščini.

Priklic funkcij v OpenAI API

Kaj je priklic funkcij in kako deluje v OpenAI API?

Posodobljeno: 8 days ago

11. marca 2025 smo izdali gradnike naše nove platforme Agents. Za podrobnosti si oglejte našo dokumentacijo API za API Responses, orodja, vključno z spletnim iskanjem, iskanjem po datotekah in uporabo računalnika, ter naš Agents SDK s funkcijo Tracing.

Priklic funkcij vam omogoča, da modele OpenAI povežete z zunanjimi orodji in sistemi. To je uporabno za veliko stvari, kot je opremljanje pomočnikov AI z zmožnostmi ali gradnja globokih integracij med vašimi aplikacijami in velikimi jezikovnimi modeli.

Več o tem preberite v našem vodniku za razvijalce za priklic funkcij.

Junija 2024 smo uvedli strukturirane izhode. Ko jih vklopite tako, da v definiciji funkcije nastavite strict: true, strukturirani izhodi zagotavljajo, da se argumenti, ki jih model ustvari za priklic funkcije, natančno ujemajo s shemo JSON, ki ste jo navedli v definiciji funkcije.

Oktobra 2024 smo uvedli funkcijo „Ustvari kar koli“, ki razvijalcem omogoča, da opišejo funkcijo, jo neposredno prilepijo ali prilepijo svojo kodo in ustvarijo veljavno shemo funkcije. Več o funkciji „Ustvari kar koli“ preberite v tem članku centra za pomoč

Kako lahko uporabim priklic funkcij?

Priklic funkcij je uporaben v številnih primerih uporabe, na primer za:

  • Omogočanje pomočnikom, da pridobivajo podatke:

  • Omogočanje pomočnikom, da izvajajo dejanja:

  • Omogočanje pomočnikom, da izvajajo izračune:

  • Gradnja bogatih potekov dela:

  • cevovod za pridobivanje podatkov, ki pridobi neobdelano besedilo, ga nato pretvori v strukturirane podatke in shrani v zbirko podatkov.

Priklic funkcij je podprt v API-ju Responses, ki združuje zmogljivosti, ki so bile prej razdeljene med API za dopolnitve klepeta in API Assistants.

Kako lahko uporabim način JSON?

Ko je način JSON vklopljen, je zagotovljeno, da je izhod modela veljaven JSON, razen v nekaterih robnih primerih, ki jih morate zaznati in ustrezno obravnavati.

Če želite zahtevati način JSON z API-jem za dopolnitve klepeta, pri podprtih modelih nastavite response_format na { "type": "json_object" }. Z API-jem Responses nastavite text.format na { "type": "json_object" }, na primer text: { "format": { "type": "json_object" } }, kjer je primerno. V obeh API-jih način JSON deluje le, če so izpolnjeni predpogoji za model, sporočila in orodja (na primer, model podpira json_object, pogovor vključuje navodila za ustvarjanje JSON-a, morebitne omejitve orodij pa so združljive). Vsaj eno sporočilo zahteve ali vhodno sporočilo v dejanskem vhodnem kontekstu mora vsebovati json v obliki, ki ni občutljiva na velikost črk, na primer JSON, json ali Json; sicer API vrne napako. V Responses samo polje navodil na najvišji ravni ne izpolnjuje tega preverjanja. Ko se priklic funkcij uporablja pri združljivih modelih/poteh, se omejitve JSON samodejno uporabijo za argumente priklica funkcije; nezdružljivi modeli ali kombinacije orodij in oblik odziva se lahko zavrnejo ali pa ne uporabljajo vzorčenja, omejenega z JSON.

Pomembne opombe:

  • Pri uporabi načina JSON morate modelu vedno naročiti, naj ustvari JSON, in sicer prek katerega od sporočil v pogovoru, na primer prek sistemskega sporočila. Če ne vključite izrecnega navodila za ustvarjanje JSON-a, lahko model ustvarja neskončen tok presledkov, zahteva pa se lahko izvaja neprekinjeno, dokler ne doseže omejitve žetonov. Da tega ne bi pozabili, način JSON zavrne zahteve, razen če ustrezna vhodna sporočila ali navodila vsebujejo besedo json v neki obliki, ne glede na velikost črk.

  • Način JSON ne zagotavlja, da se izhod ujema s katero koli določeno shemo, temveč le, da je veljaven in se razčleni brez napak. Uporabite strukturirane izhode, da zagotovite ujemanje s svojo shemo; če to ni mogoče, uporabite knjižnico za preverjanje veljavnosti in po potrebi ponovne poskuse, da zagotovite ujemanje izhoda z želeno shemo.

  • Vaša aplikacija mora zaznati in obravnavati robne primere, zaradi katerih izhod modela morda ni popoln objekt JSON (glejte spodaj)

Ali vam je bil ta članek v pomoč?