OpenAI
Ova je stranica strojno prevedena. Pogledajte izvorni članak na engleskom jeziku.

Pozivanje funkcija u OpenAI API-ju

Što je pozivanje funkcija i kako funkcionira u OpenAI API-ju?

Ažurirano: 12 days ago

Od 11. ožujka 2025. objavili smo osnovne sastavne dijelove naše nove platforme Agents. Pojedinosti potražite u našoj API dokumentaciji za API Responses, alate uključujući Web Search, File Search i Computer Use te naš Agents SDK s mogućnošću Tracing.

Pozivanje funkcija omogućuje povezivanje modela OpenAI s vanjskim alatima i sustavima. To je korisno za mnogo toga, primjerice za proširivanje mogućnosti AI pomoćnika ili izradu naprednih integracija između vaših aplikacija i velikih jezičnih modela.

Saznajte više u našem vodiču za razvojne programere o pozivanju funkcija.

U lipnju 2024. predstavili smo strukturirane izlaze. Na podržanim modelima i uz podržane konfiguracije zahtjeva, kada model uputi poziv funkcije, postavljanje vrijednosti strict: true u definiciji funkcije osigurava da generirani argumenti budu u skladu s navedenom shemom, pod uvjetom da shema upotrebljava podržani podskup JSON sheme i ispunjava zahtjeve strogog načina rada. Zahtjevi s nepodržanim ili neusklađenim shemama odbijaju se uz poruku o pogrešci.

U listopadu 2024. predstavili smo značajku „Generiraj bilo što”, koja razvojnim programerima omogućuje da opišu funkciju i izravno zalijepe njezin opis ili da zalijepe svoj kod kako bi generirali valjanu shemu funkcije. Više o značajci „Generiraj bilo što” pročitajte u ovom članku centra za pomoć.

Kako mogu upotrebljavati pozivanje funkcija?

Pozivanje funkcija korisno je za velik broj slučajeva upotrebe, kao što su:

  • Omogućavanje asistentima dohvaćanja podataka:

  • Omogućavanje asistentima poduzimanja radnji:

  • Omogućavanje asistentima izvođenja izračuna:

  • Izrada bogatih tijekova rada:

  • proces za izdvajanje podataka koji dohvaća neobrađeni tekst, zatim ga pretvara u strukturirane podatke i sprema u bazu podataka.

Pozivanje funkcija podržano je u Responses API-ju, koji objedinjuje mogućnosti koje su prethodno bile podijeljene između API-ja za dovršavanje razgovora i API-ja za asistente.

Kako mogu upotrebljavati JSON način rada?

Kada je JSON način rada uključen, osigurava se da je izlaz modela valjan JSON, osim u nekim rubnim slučajevima koje trebate otkriti i pravilno obraditi.

Da biste zatražili JSON način rada s API-jem za dovršavanje razgovora, postavite response_format na { "type": "json_object" } na podržanim modelima. Uz Responses API, postavite text.format na { "type": "json_object" }, na primjer text: { "format": { "type": "json_object" } }, gdje je primjenjivo. U oba API-ja JSON način rada funkcionira samo kada su ispunjeni preduvjeti za model/poruku/alat (na primjer, model podržava json_object, razgovor uključuje upute za stvaranje JSON-a, a sva ograničenja alata su kompatibilna). Najmanje jedna poruka zahtjeva ili ulazna poruka u efektivnom ulaznom kontekstu mora sadržavati json u obliku neovisnom o veličini slova, kao što su JSON, json ili Json; u suprotnom API vraća pogrešku. U Responsesu samo polje uputa najviše razine ne zadovoljava ovu provjeru valjanosti. Kada se pozivanje funkcija upotrebljava na kompatibilnim modelima/putanjama, JSON ograničenja automatski se primjenjuju na argumente poziva funkcije; nekompatibilni modeli ili kombinacije alata i formata odgovora mogu biti odbijeni ili možda neće upotrebljavati uzorkovanje ograničeno JSON-om.

Važne napomene:

  • Pri upotrebi JSON načina rada uvijek morate uputiti model da proizvede JSON putem neke poruke u razgovoru, na primjer putem sistemske poruke. Ako ne uključite izričitu uputu za generiranje JSON-a, model može generirati beskonačan niz praznina, a zahtjev se može neprekidno izvoditi dok ne dosegne ograničenje tokena. Kako ne biste zaboravili, JSON način rada odbija zahtjeve osim ako relevantne ulazne poruke ili upute ne sadržavaju riječ json u nekom obliku, neovisno o veličini slova.

  • JSON način rada ne jamči da izlaz odgovara bilo kojoj određenoj shemi, već samo da je valjan i da se raščlanjuje bez pogrešaka. Trebali biste upotrebljavati strukturirane izlaze kako biste osigurali da odgovara vašoj shemi ili, ako to nije moguće, biblioteku za provjeru valjanosti i potencijalno ponovne pokušaje kako biste osigurali da izlaz odgovara željenoj shemi.

  • Vaša aplikacija mora otkriti i obraditi rubne slučajeve zbog kojih izlaz modela može ne biti potpun JSON objekt (pogledajte u nastavku)

Je li vam ovaj članak bio koristan?