← 返回列表

Shrnutí technologie Function Calling

Shrnutí technologie Function Calling

1. Definice

Function Calling je mechanismus, který umožňuje vývojářům popsat dostupné externí nástroje (např. API) velkému jazykovému modelu (LLM) pomocí JSON schématu. Když model usoudí, že k zodpovězení otázky uživatele je třeba zavolat nástroj, vygeneruje strukturovaná data tool_calls ve formátu JSON, která určují název funkce a parametry. Hostitelský program tento požadavek zpracuje a provede volání, výsledek vrátí modelu a model na jeho základě vygeneruje konečnou odpověď.

2. Hlavní princip a řešené problémy

  • Podstata: Uzavřený cyklus „dvou kol konverzace + mezispuštění“. V prvním kole model rozhodne a vygeneruje požadavek na volání nástroje; mezitím kód provede nástroj; ve druhém kole model na základě výsledku vygeneruje konečnou odpověď.
  • Řešené problémy: Řeší dřívější problém, kdy volání nástrojů modelem záviselo na nestabilním a chybovém zpracování přirozeného jazyka (if/else podmínky). Díky strukturovanému výstupu je dosaženo standardizace a vyšší přesnosti.

3. Rozdělení odpovědností (analogie delegování úkolů)

  • Vývojář (HR): Definuje nástroje, vytváří JSON schéma popisující funkci nástroje, parametry atd.
  • LLM model (manažer): Rozumí popisu nástrojů, rozhoduje, zda je třeba nástroj zavolat, který nástroj a s jakými parametry, a generuje strukturovaný požadavek (tool_calls). Model pouze rozhoduje a generuje text, sám kód nespouští.
  • Spouštěč/hostitelský kód (zaměstnanec): Zpracuje tool_calls požadavek modelu, skutečně provede odpovídající funkci nebo API volání a vrátí výsledek.

4. Definice nástroje (JSON Schema)

Schéma je „návod“ k nástroji, klíčové informace zahrnují:
- name: Jedinečný identifikátor nástroje.
- description: Zásadní, model se zcela spoléhá na tento popis při rozhodování, zda nástroj zavolat. Čím jasnější a přesnější popis, tím přesnější rozhodnutí modelu.
- parameters: Definuje parametry nástroje, jejich typy, popis, omezení (např. výčtové hodnoty, povinnost atd.).

5. Kompletní proces volání

Článek prostřednictvím příkladu kódu pro dotaz na počasí ukazuje celý proces od otázky uživatele, prvního volání modelu s definicí nástroje, vrácení tool_calls modelem, provedení funkce kódem, vložení výsledku zpět do historie konverzace jako zprávu s role: "tool", až po finální vygenerování odpovědi v přirozeném jazyce modelem.

6. Pokročilá funkce - paralelní volání nástrojů

Když otázka uživatele vyžaduje spolupráci více nástrojů (např. současné dotazy na počasí v několika městech), může model v jedné odpovědi vygenerovat seznam obsahující více tool_calls. Hostitelský kód může tato volání provést paralelně a poté všechny výsledky vrátit modelu k syntéze, čímž se zvýší efektivita.

评论

暂无已展示的评论。

发表评论(匿名)