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č
jsonu 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)
