Od 11. marta 2025. objavili smo osnovne gradivne elemente naše nove platforme Agents. Za detalje pogledajte našu API dokumentaciju za Responses API, alate uključujući Web Search, File Search i Computer Use, te naš Agents SDK s Tracingom.
Pozivanje funkcija omogućava vam da povežete OpenAI modele s vanjskim alatima i sistemima. To je korisno za mnoge stvari, kao što je osnaživanje AI asistenata mogućnostima ili izgradnja dubokih integracija između vaših aplikacija i LLM-ova.
Saznajte više u našem vodiču za programere o pozivanju funkcija.
U junu 2024. pokrenuli smo strukturirane izlaze. Kada ih uključite postavljanjem strict: true u definiciji funkcije, strukturirani izlazi garantuju da argumenti koje model generira za poziv funkcije tačno odgovaraju JSON šemi koju ste naveli u definiciji funkcije.
U oktobru 2024. pokrenuli smo funkciju „Generate Anything”, koja programerima omogućava da opišu funkciju, zalijepe je direktno ili zalijepe svoj kôd i generiraju važeću šemu funkcije. Saznajte više o funkciji „Generate Anything” u ovom članku centra za pomoć
Kako mogu koristiti pozivanje funkcija?
Pozivanje funkcija korisno je za veliki broj slučajeva upotrebe, kao što su:
Omogućavanje asistentima da dohvaćaju podatke:
Omogućavanje asistentima da poduzimaju radnje:
Omogućavanje asistentima da obavljaju izračune:
Izgradnja bogatih tokova rada:
cjevovod za ekstrakciju podataka koji dohvaća sirovi tekst, zatim ga pretvara u strukturirane podatke i sprema u bazu podataka.
Pozivanje funkcija je podržano u Responses API-ju, koji objedinjuje mogućnosti koje su ranije bile podijeljene između API-ja za dovršavanje razgovora i Assistants API-ja.
Kako mogu koristiti JSON način rada?
Kada je JSON način rada uključen, osigurava se da izlaz modela bude važeći JSON, osim u nekim rubnim slučajevima koje trebate otkriti i pravilno obraditi.
Da biste zatražili JSON način rada pomoću API-ja 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 generiranje 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 neosjetljivom na velika i mala slova, kao što su JSON, json ili Json; u suprotnom, API vraća grešku. U Responsesu samo polje uputa najvišeg nivoa ne zadovoljava ovu provjeru valjanosti. Kada se pozivanje funkcija koristi na kompatibilnim modelima/putanjama, JSON ograničenja se automatski primjenjuju na argumente poziva funkcije; nekompatibilni modeli ili kombinacije alata/formata odgovora mogu biti odbijeni ili možda neće koristiti uzorkovanje ograničeno JSON-om.
Važne napomene:
Kada koristite JSON način rada, uvijek morate uputiti model da generira JSON putem neke poruke u razgovoru, na primjer putem vaše sistemske poruke. Ako ne uključite izričitu uputu za generiranje JSON-a, model može generirati beskrajan tok razmaka, a zahtjev se može izvršavati neprekidno dok ne dostigne ograničenje tokena. Kako biste osigurali da ne zaboravite, JSON način rada odbija zahtjeve osim ako relevantne ulazne poruke ili upute sadrže riječ
jsonu nekom obliku, bez razlikovanja velikih i malih slova.JSON način rada neće garantovati da izlaz odgovara bilo kojoj konkretnoj šemi, već samo da je važeći i da se parsira bez grešaka. Trebate koristiti strukturirane izlaze kako biste osigurali da odgovara vašoj šemi ili, ako to nije moguće, trebate koristiti biblioteku za provjeru valjanosti i potencijalno ponovne pokušaje kako biste osigurali da izlaz odgovara željenoj šemi.
Vaša aplikacija mora otkriti i obraditi rubne slučajeve zbog kojih izlaz modela može biti nepotpun JSON objekt (pogledajte u nastavku)
