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 vam povezivanje OpenAI modela s vanjskim alatima i sustavima. To je korisno za mnogo toga, primjerice za osnaživanje AI asistenata mogućnostima ili za izradu dubokih integracija između vaših aplikacija i LLM-ova.
Saznajte više u našem vodiču za razvojne programere o pozivanju funkcija.
U lipnju 2024. pokrenuli smo strukturirane izlaze. Kada ih uključite postavljanjem strict: true u definiciji funkcije, strukturirani izlazi jamče da argumenti koje model generira za poziv funkcije točno odgovaraju JSON shemi koju ste naveli u definiciji funkcije.
U listopadu 2024. pokrenuli smo značajku „Generiraj bilo što”, koja razvojnim programerima omogućuje da opišu funkciju, izravno je zalijepe ili zalijepe svoj kôd i generiraju valjanu shemu funkcije. Saznajte više o značajki „Generiraj bilo što” 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)
