Function calling umožňuje jazykovému modelu vybrat vhodnou funkci a připravit pro ni strukturované argumenty. Díky tomu lze AI propojit s externími systémy, například s databázemi, firemními aplikacemi nebo webovými službami. Model tak může nejen odpovídat na otázky, ale také navrhnout konkrétní akci, která pomůže splnit požadavek uživatele.
Co znamená function calling
Function calling, někdy označované také jako volání funkcí nebo nástrojů, je způsob, jak modelu zpřístupnit předem definované operace. Vývojář popíše, jaké funkce jsou k dispozici, co dělají a jaké údaje potřebují. Pokud model rozpozná, že se některá z nich hodí, vrátí její název spolu s argumenty ve stanoveném formátu.
Samotný model obvykle funkci přímo nespouští. Jeho úkolem je rozpoznat vhodnou akci a připravit potřebné parametry. Aplikace následně ověří výstup, funkci vykoná a případný výsledek předá modelu. Ten jej může využít při formulaci odpovědi uživateli.
Jak probíhá volání funkce
- Uživatel zadá požadavek. Může například požádat o počasí v konkrétním městě nebo o termín dostupné schůzky.
- Aplikace předá modelu dostupné funkce. Jejich popisy a parametry určují, jaké úlohy může systém provádět.
- Model vybere vhodnou funkci a připraví argumenty. Například určí název města nebo požadovaný časový rozsah.
- Aplikace zkontroluje a vykoná požadavek. Může se spojit s externí službou, vyhledat údaje v databázi nebo provést jinou povolenou operaci.
- Výsledek se vrátí modelu. Model jej zpracuje a uživateli odpoví srozumitelným způsobem.
Příklad využití v praxi
Představme si asistenta, který dokáže zjistit aktuální počasí. Uživatel se zeptá: „Jaké bude dnes počasí v Brně?“ Model může vybrat funkci pro získání předpovědi a připravit argument obsahující město a datum. Aplikace tento požadavek odešle do meteorologické služby a získané údaje vrátí modelu. Ten z nich vytvoří přirozenou odpověď.
Stejný princip lze použít při vyhledávání objednávek, plánování schůzek, práci s CRM systémem, tvorbě dokumentů nebo získávání informací z interní databáze. Konkrétní možnosti závisí na funkcích, které vývojář aplikaci zpřístupní.
Proč propojit AI s aplikacemi
Bez napojení na externí nástroje vychází model především z informací, které má k dispozici v průběhu konverzace a z naučených znalostí. Funkce mu umožňují pracovat s aktuálními daty a provádět úlohy mimo samotné generování textu. Uživatel tak může zadat požadavek běžným jazykem, zatímco aplikace zajistí odpovídající operaci.
Function calling může zjednodušit ovládání softwaru, automatizovat opakující se činnosti a propojit několik systémů do jednoho pracovního postupu. Zároveň pomáhá oddělit porozumění požadavku od jeho technického provedení.
Bezpečnost a kontrola
Volání funkcí musí být navrženo tak, aby aplikace nepřijímala ani nevykonávala neověřené požadavky bez kontroly. Je vhodné ověřovat typy a hodnoty argumentů, omezit dostupné operace na nezbytné minimum a citlivé akce podmínit potvrzením uživatele. Zvláštní pozornost vyžadují například platby, mazání dat nebo změny přístupových oprávnění.
Vývojář by měl počítat také s chybami externích služeb, neúplnými vstupy a situacemi, kdy model vybere nevhodnou funkci. Výstup modelu proto není automaticky důvěryhodným pokynem: aplikace musí před vykonáním ověřit, zda odpovídá definovaným pravidlům a oprávněním.
Function calling není samostatná automatizace
Function calling poskytuje modelu způsob, jak navrhnout použití dostupného nástroje. O tom, zda se funkce skutečně spustí, jak se ověří její argumenty a jak se zpracuje výsledek, rozhoduje aplikace. Právě toto rozdělení odpovědností umožňuje využít jazykové schopnosti AI a současně zachovat kontrolu nad přístupem k systémům a datům.
