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 připojit modely OpenAI k externím nástrojům a systémům. To je užitečné pro mnoho věcí, například pro rozšíření možností AI asistentů nebo budování hlubokých integrací mezi vašimi aplikacemi a LLM.
Více se dozvíte v naší vývojářské příručce k volání 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 uvedli v definici funkce.
V říjnu 2024 jsme spustili funkci „Vygenerovat cokoli“, která vývojářům umožňuje popsat funkci, přímo ji vložit nebo vložit kód a vygenerovat platné schéma funkce. Více o funkci „Vygenerovat cokoli“ se dozvíte 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)
