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: 7 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 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č 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?