K 11. marcu 2025 sme sprístupnili základné stavebné prvky našej novej platformy Agents. Podrobnosti nájdete v našej dokumentácii API pre Responses API, nástroje vrátane Web Search, File Search a Computer Use a v našom Agents SDK s funkciou Tracing.
Volanie funkcie umožňuje prepojiť modely OpenAI s externými nástrojmi a systémami. Je to užitočné na mnohé účely, napríklad na rozšírenie možností asistentov s umelou inteligenciou alebo vytváranie úzkych prepojení medzi vašimi aplikáciami a veľkými jazykovými modelmi.
Ďalšie informácie nájdete v našej príručke pre vývojárov k volaniu funkcie.
V júni 2024 sme uviedli štruktúrované výstupy. Ak pri podporovaných modeloch a konfiguráciách požiadaviek model vyšle volanie funkcie, nastavenie strict: true v definícii funkcie zabezpečí, že vygenerované argumenty budú zodpovedať zadanej schéme, pokiaľ schéma používa podporovanú podmnožinu JSON Schema a spĺňa požiadavky striktného režimu. Požiadavky s nepodporovanými alebo nevyhovujúcimi schémami sa odmietnu s chybovým hlásením.
V októbri 2024 sme uviedli funkciu 'Vygenerovať čokoľvek', ktorá vývojárom umožňuje opísať funkciu alebo priamo vložiť jej opis či vlastný kód a následne vygenerovať platnú schému funkcie. Ďalšie informácie o funkcii 'Vygenerovať čokoľvek' nájdete v tomto článku centra pomoci.
Ako môžem používať volanie funkcie?
Volanie funkcie je užitočné pri veľkom počte prípadov použitia, napríklad:
Umožnenie asistentom načítavať údaje:
Umožnenie asistentom vykonávať akcie:
Umožnenie asistentom vykonávať výpočty:
Vytváranie bohatých pracovných postupov:
kanál na extrakciu údajov, ktorý načíta nespracovaný text, potom ho prevedie na štruktúrované údaje a uloží ho do databázy.
Volanie funkcie je podporované v rozhraní API Responses, ktoré zjednocuje možnosti, ktoré boli predtým rozdelené medzi API na dokončovanie četu a API Assistants.
Ako môžem používať režim JSON?
Keď je režim JSON zapnutý, výstup modelu je zaručene platný JSON, okrem niektorých hraničných prípadov, ktoré by ste mali zistiť a primerane spracovať.
Ak chcete požiadať o režim JSON pomocou API na dokončovanie četu, nastavte response_format na { "type": "json_object" } v podporovaných modeloch. V API Responses nastavte text.format na { "type": "json_object" }, napríklad text: { "format": { "type": "json_object" } }, kde je to relevantné. V oboch API režim JSON funguje iba vtedy, keď sú splnené predpoklady modelu, správy a nástroja (napríklad model podporuje json_object, konverzácia obsahuje pokyny na vytvorenie JSON a všetky obmedzenia nástrojov sú kompatibilné). Aspoň jedna správa požiadavky alebo vstupná správa v efektívnom vstupnom kontexte musí obsahovať json vo forme bez rozlišovania veľkých a malých písmen, napríklad JSON, json alebo Json; inak API vráti chybu. V Responses samotné pole pokynov najvyššej úrovne túto validáciu nespĺňa. Keď sa volanie funkcie používa na kompatibilných modeloch/cestách, obmedzenia JSON sa automaticky použijú na argumenty volania funkcie; nekompatibilné modely alebo kombinácie nástroja a formátu odpovede môžu byť odmietnuté alebo nemusia používať vzorkovanie obmedzené na JSON.
Dôležité poznámky:
Pri používaní režimu JSON musíte vždy modelu prostredníctvom niektorej správy v konverzácii prikázať, aby vytvoril JSON, napríklad prostredníctvom systémovej správy. Ak nezahrniete výslovný pokyn na vygenerovanie JSON, model môže generovať nekonečný prúd prázdnych znakov a požiadavka môže bežať nepretržite, kým nedosiahne limit tokenov. Aby ste na to nezabudli, režim JSON odmieta požiadavky, pokiaľ príslušné vstupné správy alebo pokyny neobsahujú slovo
jsonv nejakej forme, bez rozlišovania veľkých a malých písmen.Režim JSON nezaručuje, že výstup zodpovedá konkrétnej schéme, iba to, že je platný a dá sa analyzovať bez chýb. Mali by ste použiť štruktúrované výstupy, aby ste zabezpečili zhodu s vašou schémou, alebo ak to nie je možné, mali by ste použiť validačnú knižnicu a prípadne opakované pokusy, aby ste zabezpečili, že výstup zodpovedá požadovanej schéme.
Vaša aplikácia musí zistiť a spracovať hraničné prípady, ktoré môžu viesť k tomu, že výstup modelu nebude úplným objektom JSON (pozrite nižšie)
