OpenAI
Táto stránka bola strojovo preložená. Prečítaj si pôvodný článok v angličtine.

Volanie funkcie v rozhraní OpenAI API

Čo je volanie funkcie a ako funguje v rozhraní OpenAI API?

Aktualizované: 15 days ago

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 vám umožňuje pripojiť modely OpenAI k externým nástrojom a systémom. Je to užitočné na mnohé veci, napríklad na rozšírenie možností AI asistentov alebo na vytváranie hlbokých integrácií medzi vašimi aplikáciami a LLM.

Viac sa dozviete v našej vývojárskej príručke k volaniu funkcie.

V júni 2024 sme spustili štruktúrované výstupy. Keď ich zapnete nastavením strict: true v definícii funkcie, štruktúrované výstupy zaručia, že argumenty vygenerované modelom pre volanie funkcie sa presne zhodujú so schémou JSON, ktorú ste poskytli v definícii funkcie.

V októbri 2024 sme spustili funkciu „Generate Anything“, ktorá vývojárom umožňuje opísať funkciu, priamo ju vložiť alebo vložiť svoj kód a vygenerovať platnú schému funkcie. Viac o funkcii „Generate Anything“ sa dozviete 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 json v 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)

Bol tento článok užitočný?