K 11. březnu 2025 jsme vydali stavební bloky naší nové platformy Agents. Podrobnosti najdete v naší dokumentaci API pro Responses API, nástroje včetně Web Search, File Search a Computer Use a v našem Agents SDK s funkcí Tracing.
Volání funkce vám umožňuje propojit modely OpenAI s externími nástroji a systémy. To je užitečné v mnoha případech, například pro rozšíření schopností AI asistentů nebo pro budování hlubokých integrací mezi vašimi aplikacemi a LLM.
Další informace najdete v našem vývojářském průvodci voláním funkce.
V červnu 2024 jsme spustili strukturované výstupy. Když je zapnete nastavením `strict: true` v definici funkce, strukturované výstupy zaručí, že argumenty vygenerované modelem pro volání funkce budou přesně odpovídat schématu JSON, které jste zadali v definici funkce.
V říjnu 2024 jsme spustili funkci „Generate Anything“, která vývojářům umožňuje popsat funkci, vložit ji přímo nebo vložit svůj kód a vygenerovat platné schéma funkce. Další informace o funkci „Generate Anything“ najdete v tomto článku centra nápovědy
Jak mohu používat volání funkce?
Volání funkce je užitečné pro velké množství případů použití, například:
Umožnění asistentům načítat data:
AI asistent potřebuje načíst nejnovější údaje o zákazníkovi z interního systému, když se uživatel zeptá: „Jaké jsou mé nedávné objednávky?“ dříve, než může uživateli vygenerovat odpověď
Umožnění asistentům provádět akce:
AI asistent potřebuje plánovat schůzky podle uživatelských preferencí a dostupnosti v kalendáři.
Umožnění asistentům provádět výpočty:
asistent pro doučování matematiky potřebuje provést matematický výpočet.
Vytváření bohatých pracovních postupů:
pipeline pro extrakci dat, která načte nezpracovaný text, poté jej převede na strukturovaná data a uloží je do databáze.
Volání funkce je podporováno v rozhraní Responses API, které sjednocuje schopnosti, jež byly dříve rozděleny mezi API na dokončování chatu a Assistants API.
Jak mohu používat režim JSON?
Když je zapnutý režim JSON, je zajištěno, že výstup modelu bude platný JSON, s výjimkou některých okrajových případů, které byste měli rozpoznat a vhodně zpracovat.
Chcete-li vyžádat režim JSON pomocí Responses API nebo API na dokončování chatu, můžete u podporovaných modelů nastavit response_format na { "type": "json_object" }, ale funguje to pouze tehdy, když jsou splněny předpoklady modelu, zpráv a nástrojů (například model podporuje json_object, konverzace obsahuje pokyn k vytvoření JSON a případná omezení nástrojů jsou kompatibilní). Pro režim JSON s response_format: {"type": "json_object"} musí alespoň jedna zpráva v požadavku obsahovat v nějaké podobě json, například JSON, json nebo Json; jinak API vrátí chybu. Když se na kompatibilních modelech/cestách používá volání funkce, omezení JSON se automaticky použijí na argumenty volání funkce; nekompatibilní modely nebo kombinace nástrojů a formátu odpovědi mohou být odmítnuty nebo nemusí používat vzorkování omezené na JSON.
Důležité poznámky:
Při používání režimu JSON musíte model vždy nějakou zprávou v konverzaci instruovat, aby vytvářel JSON, například prostřednictvím systémové zprávy. Pokud nezahrnete výslovný pokyn ke generování JSON, model může vytvářet nekonečný proud prázdných znaků a požadavek může běžet nepřetržitě, dokud nedosáhne limitu tokenů. Aby se snížilo riziko, že na to zapomenete, režim JSON odmítá požadavky, pokud příslušné vstupní zprávy nebo pokyny neobsahují slovo
jsonv nějaké podobě bez ohledu na velikost písmen.Režim JSON nezaručuje, že výstup bude odpovídat nějakému konkrétnímu schématu, pouze že bude platný a půjde zpracovat bez chyb. Měli byste použít strukturované výstupy, aby odpovídal vašemu schématu, nebo pokud to není možné, měli byste použít validační knihovnu a případně opakované pokusy, aby výstup odpovídal požadovanému schématu.
Vaše aplikace musí rozpoznat a zpracovat okrajové případy, které mohou vést k tomu, že výstup modelu nebude úplným objektem JSON (viz níže)
