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 umožňuje propojit modely OpenAI s externími nástroji a systémy. Hodí se k mnoha účelům, například k rozšíření možností asistentů s AI nebo k vytvoření úzkého propojení mezi vašimi aplikacemi a velkými jazykovými modely.
Další informace najdete v naší příručce pro vývojáře k volání funkce.
V červnu 2024 jsme uvedli strukturované výstupy. Pokud u podporovaných modelů a konfigurací požadavků model vygeneruje volání funkce, nastavení strict: true v definici funkce zajistí, že vygenerované argumenty budou odpovídat zadanému schématu. Podmínkou je, aby schéma používalo podporovanou podmnožinu JSON Schema a splňovalo požadavky striktního režimu. Požadavky s nepodporovanými nebo nevyhovujícími schématy jsou odmítnuty s chybou.
V říjnu 2024 jsme uvedli funkci „Vygenerovat cokoli“, která vývojářům umožňuje popsat funkci, přímo vložit její definici nebo vložit vlastní kód a vygenerovat platné schéma funkce. Další informace o funkci „Vygenerovat cokoli“ najdete v tomto článku centra nápovědy.
Jak mohu používat volání funkce?
Volání funkce je užitečné pro mnoho případů použití, například:
Umožnění asistentům načítat data:
Umožnění asistentům provádět akce:
Umožnění asistentům provádět výpočty:
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ží do databáze.
Volání funkce je podporováno v Responses API, které sjednocuje schopnosti dříve rozdělené mezi API na dokončování chatu a Assistants API.
Jak mohu použít režim JSON?
Když je režim JSON zapnutý, je zajištěno, že výstup modelu bude platný JSON, kromě některých okrajových případů, které byste měli detekovat a vhodně zpracovat.
Chcete-li si vyžádat režim JSON pomocí API na dokončování chatu, nastavte response_format na { "type": "json_object" } u podporovaných modelů. V rozhraní Responses API nastavte text.format na { "type": "json_object" }, například text: { "format": { "type": "json_object" } }, pokud je to relevantní. V kterémkoli rozhraní API funguje režim JSON pouze tehdy, když jsou splněny předpoklady modelu/zprávy/nástroje (například model podporuje json_object, konverzace obsahuje pokyny k vytvoření JSON a všechna omezení nástrojů jsou kompatibilní). Alespoň jedna zpráva požadavku nebo vstupní zpráva v efektivním vstupním kontextu musí obsahovat json v podobě nerozlišující velikost písmen, například JSON, json nebo Json; jinak API vrátí chybu. V Responses samotné pole instructions nejvyšší úrovně tuto validaci nesplňuje. Když se u kompatibilních modelů/cest používá volání funkce, omezení JSON se automaticky aplikují na argumenty volání funkce; nekompatibilní modely nebo kombinace nástroje/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 modelu vždy dát pokyn, aby vytvořil JSON, prostřednictvím některé zprávy v konverzaci, například systémové zprávy. Pokud nezahrnete výslovný pokyn ke generování JSON, model může generovat nekonečný proud prázdných znaků a požadavek může běžet nepřetržitě, dokud nedosáhne limitu tokenů. Abychom vám pomohli na to nezapomenout, režim JSON odmítá požadavky, pokud relevantní vstupní zprávy nebo pokyny neobsahují slovo
jsonv nějaké podobě, bez ohledu na velikost písmen.Režim JSON nezaručí, že výstup odpovídá konkrétnímu schématu; zaručí pouze, že je platný a lze jej bez chyb analyzovat. Abyste zajistili, že odpovídá vašemu schématu, měli byste použít strukturované výstupy; 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í detekovat a zpracovat okrajové případy, které mohou způsobit, že výstup modelu nebude úplný objekt JSON (viz níže)
