---
title: "Function calling (LLM) (CS)"
source: "https://systems-analysis.info/int/Function_calling_(LLM)_(CS)"
wiki: "systems-analysis.info/int"
article: "Function_calling_(LLM)_(CS)"
language: "cs"
categories:
  - "Category:Czech"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 2326
wiki_created_at: 2026-09-06T23:02:11Z
wiki_modified_at: 2026-09-06T23:02:11Z
downloaded_at: 2026-09-07T22:50:30Z
---

# Function calling (LLM) (CS)

**Function Calling** (**Volání funkcí**) — je mechanismus ve velkých jazykových modelech (LLM), který umožňuje modelu interagovat s externími nástroji a API generováním strukturovaných dat (zpravidla JSON) pro volání funkcí namísto přímé textové odpovědi<sup>[\[1\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-hopsworks_whatis-1)</sup>.

Jinak řečeno, model na základě dotazu uživatele určuje, kterou funkci z nabízené sady je třeba zavolat a s jakými parametry. Tento mechanismus rozšiřuje oblast použití LLM a umožňuje jim sloužit jako rozhraní mezi přirozeným jazykem a praktickými akcemi. To otevírá možnosti pro integraci AI s externími systémy: model může dotazovat aktuální data, provádět operace nebo využívat služby, což je zvláště cenné při vytváření inteligentních asistentů a autonomních agentů. Využívání externích nástrojů také snižuje riziko halucinací (vymyšlených faktů) díky odkazu na důvěryhodné zdroje<sup>[\[2\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-dark_side_paper-2)</sup>.

## Historie a přístupy k implementaci

### Rané přístupy (prompting a Toolformer)

Myšlenka naučit jazykové modely volat nástroje se formovala v letech 2022–2023. Rané přístupy byly založeny na technologiích složitého promptingu. Tak například v roce 2022 bylo navrženo schéma **ReAct**, kde model v průběhu dialogu střídal uvažování a akce (volání nástrojů) zakódované v jednom textu.

Klíčovým krokem byl vznik modelu **Toolformer**, představeného výzkumníky Meta začátkem roku 2023. Toolformer demonstroval, že LLM lze speciálně dotrénovat, aby samostatně volal externí nástroje (kalkulačka, vyhledávač, kalendář) na základě textových podnětů a vkládal do generovaného textu speciální tokeny volání API<sup>[\[3\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-toolformer_paper-3)</sup>.

### Oficiální podpora a vývoj

Významný milník zaznamenala společnost OpenAI, která v červnu 2023 oficiálně zavedla podporu Function Calling ve svých API pro modely GPT-3.5 a GPT-4<sup>[\[4\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-openai_fc_announcement-4)</sup>. Nové verze modelů byly dotréneny rozpoznávat situace, kdy uživatelský dotaz předpokládá obrácení se na externí funkci, a generovat přesně strukturovaný JSON objekt s argumenty. Společnost OpenAI označila tuto možnost jako „nový způsob spolehlivého propojení GPT s externími nástroji a API".

### Otevřené iniciativy

Po komerčních implementacích se objevily otevřené modely dotrénované pro generování správných volání funkcí.

- **Gorilla**: Projekt UC Berkeley, dotrénovaná verze LLaMA schopná formovat volání tisíců různých API. Pro hodnocení takových modelů byl vytvořen benchmark Berkeley Function-Calling Leaderboard<sup>[\[5\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-gorilla_site-5)</sup>.
- **ToolAlpaca**, **ToolLLaMA**, **Hermes**: Série otevřených modelů dotrénovaných na syntetických příkladech volání funkcí, často generovaných výkonnějšími modely.

## Mechanismus fungování

Proces využívání Function Calling zpravidla zahrnuje několik kroků:

1.  **Definice funkcí**. Vývojář předem definuje sadu funkcí dostupných modelu (například externích API) a popisuje jejich signatury a účel, zpravidla ve formátu JSON Schema.
2.  **Analýza dotazu**. Během dialogu model analyzuje záměr uživatele a samostatně rozhoduje, zda má pro odpověď zavolat jednu z definovaných funkcí.
3.  **Generování volání**. Pokud je akce vyžadována, LLM místo běžného textu generuje speciální strukturovaný výstup (například JSON s názvem funkce a argumenty). Pokud volání není vyžadováno, model vrátí běžnou textovou odpověď.
4.  **Vykonání funkce**. Externí program (obálka chatbota nebo agent) obdrží JSON, provede skutečné volání uvedené funkce s navrženými parametry a předá výsledek zpět modelu.
5.  **Vytvoření finální odpovědi**. Model využije získaná data pro generování závěrečné odpovědi uživateli<sup>[\[4\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-openai_fc_announcement-4)</sup>.

Pro řízení tohoto vícekrokového procesu se při trénování modelů používají speciální formáty dialogu, například markup ChatML od OpenAI, kde je kromě rolí „uživatel" a „asistent" zavedena role „funkce" pro předávání výsledků volání.

## Využití a výhody

Možnost volat funkce výrazně rozšiřuje spektrum úloh řešitelných pomocí LLM.

- **Integrace s externími API**. Model může odpovídat na dotazy vyžadující aktuální informace voláním externích služeb (například pro získání počasí, kurzů měn, zpráv).
- **Automatizace akcí uživatele**. LLM může vykonávat rutinní úkoly: odesílat e-maily, vytvářet události v kalendáři, zadávat objednávky v internetových obchodech.
- **Přístup k databázím a analýze**. Dotazy v přirozeném jazyce mohou být překládány do volání interních API nebo SQL dotazů pro získávání a analýzu dat.
- **Extrakce strukturovaných informací**. LLM může sama vyhledávat fakta z dlouhého textu (například jména, data, adresy) a vracet je jako strukturované JSON pole, vhodné pro následné programové zpracování.

## Bezpečnostní problémy

Function Calling rozšiřuje možnosti modelů, zároveň však přináší nová rizika.

- **Neověřené výstupy**. Interakce modelu s externími nástroji musí být pečlivě zabezpečena. Pokud model obdrží z API škodlivou nebo chybnou hodnotu, může ji zahrnout do odpovědi nebo na jejím základě zavolat jinou funkci, což povede k nepředvídatelným důsledkům.
- **Útoky prostřednictvím argumentů funkcí**. Výzkumníci odhalili zranitelnosti specifické pro režim Function Calling. V roce 2025 byl demonstrován útok nazvaný „Temná strana Function Calling". Jeho podstata spočívá v nabídnutí modelu speciální „funkce", uvnitř jejichž argumentů je skryta zakázaná instrukce (*jailbreak payload*). Model, řídící se principem volání funkce, generuje argumenty obsahující obsah porušující pravidla, a tím obchází moderační filtry. Testování ukázalo úspěch útoku ve více než **90 %** případů na šesti současných modelech, včetně GPT-4 a Claude<sup>[\[2\]](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_note-dark_side_paper-2)</sup>.

Pro prevenci takových incidentů se doporučuje poskytovat modelu pouze důvěryhodné nástroje, zavést potvrzení uživatelem před provedením kriticky důležitých akcí a také používat speciální „obranné" prompty a přísnou kontrolu argumentů na nebezpečný obsah.

## Odkazy

- Oficiální oznámení Function Calling od OpenAI
- Stránka projektu Gorilla LLM
- Apideck (2024). *An Introduction to Function Calling and Tool Use*. Apideck Blog.
- LangChain (2025). *Tool Calling (Documentation)*. LangChain Docs.
- Mistral AI (2025). *Function Calling – Documentation*. Mistral Docs.
- Hopsworks (2024). *What is Function Calling with LLMs?*. Hopsworks Dictionary.
- Hopsworks (2024). *Unlocking the Power of Function Calling with LLMs*. Hopsworks Blog.
- University of California, Berkeley (2025). *Berkeley Function Calling Leaderboard V3*. Online Resource.

## Literatura

- Wu, Z. et al. (2025). *The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models*. ACL 2025.
- OpenAI (2023). *Function Calling and Other API Updates*. OpenAI Blog.
- Schick, T. et al. (2023). *Toolformer: Language Models Can Teach Themselves to Use Tools*. arXiv:2302.04761.
- Patil, S. G. et al. (2023). *Gorilla: Large Language Model Connected with Massive APIs*. arXiv:2305.15334.
- Liu, W. et al. (2024). *ToolACE: Winning the Points of LLM Function Calling*. arXiv:2409.00920.
- Yao, S. et al. (2022). *ReAct: Synergizing Reasoning and Acting in Language Models*. arXiv:2210.03629.

## Poznámky

1.  <span id="cite_note-hopsworks_whatis-1">[↑](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-hopsworks_whatis_1-0) «What is Function Calling with LLMs?». *Hopsworks*. <a href="https://www.hopsworks.ai/dictionary/function-calling-with-llms" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-dark_side_paper-2">↑ <sup>[2.0](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-dark_side_paper_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-dark_side_paper_2-1)</sup> Wu, Z. et al. «The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models». *Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing*, 2025. <a href="https://aclanthology.org/2025.coling-main.39.pdf" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-toolformer_paper-3">[↑](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-toolformer_paper_3-0) Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». *arXiv:2302.04761*, 2023. <a href="https://arxiv.org/abs/2302.04761" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-openai_fc_announcement-4">↑ <sup>[4.0](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-openai_fc_announcement_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-openai_fc_announcement_4-1)</sup> «Function calling and other API updates». *OpenAI*, 2023. <a href="https://openai.com/index/function-calling-and-other-api-updates/" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-gorilla_site-5">[↑](https://systems-analysis.info/int/Function_calling_(LLM)_(CS)#cite_ref-gorilla_site_5-0) «Gorilla: Large Language Model Connected to Massive APIs». *University of California, Berkeley*. <a href="https://gorilla.cs.berkeley.edu/" class="external autonumber" rel="nofollow">[5]</a></span>
