OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

Volání funkce v OpenAI API

Co je volání funkce a jak funguje v OpenAI API?

Aktualizováno: 16 days ago

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 json v 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)

Byl tento článek užitečný?