← 返回列表

Sažetak tehnologije Function Calling

Sažetak tehnologije Function Calling

1. Definicija

Function Calling je mehanizam koji omogućuje programerima da opišu dostupne vanjske alate (poput API-ja) velikom jezičnom modelu (LLM) putem JSON sheme. Kada model procijeni da je potrebno pozvati alat kako bi odgovorio na korisničko pitanje, on izlazi strukturirane tool_calls JSON podatke, navodeći naziv funkcije i parametre. Program domaćin parsira i izvršava taj poziv, vraća rezultat modelu, a model zatim generira konačni odgovor.

2. Osnovni princip i problem koji rješava

  • Suština: Zatvorena petlja "dva kruga dijaloga + međuizvršavanje". U prvom krugu model donosi odluku i izlazi zahtjev za poziv alata; u međukoraku kod izvršava alat; u drugom krugu model generira konačni odgovor na temelju rezultata izvršavanja.
  • Problem koji rješava: Rješava problem ranijeg oslanjanja na nestabilno parsiranje prirodnog jezika (if/else provjere) za pozivanje alata, postižući standardizaciju i veću točnost kroz strukturirani izlaz.

3. Podjela odgovornosti (analogija delegiranja zadataka)

  • Programer (HR): Definiranje alata, pisanje JSON sheme koja opisuje funkcionalnost alata, parametre itd.
  • LLM model (menadžer): Razumijevanje opisa alata, odlučivanje treba li pozvati alat, koji alat i s kojim parametrima, te izlaz strukturiranog zahtjeva za poziv (tool_calls). Model samo donosi odluke i generira tekst, ne izvršava kod.
  • Izvršitelj / kod domaćina (zaposlenik): Parsira tool_calls zahtjev modela, stvarno izvršava odgovarajuću funkciju ili API poziv, i vraća rezultat.

4. Definiranje alata (JSON Schema)

Shema je "priručnik" za alat, ključne informacije uključuju:
- name: Jedinstveni identifikator alata.
- description: Ključno, model se u potpunosti oslanja na ovaj opis kako bi odlučio hoće li pozvati alat. Što je opis jasniji i točniji, to je odluka modela točnija.
- parameters: Definiranje potrebnih parametara alata, njihovih tipova, opisa, ograničenja (npr. dopuštene vrijednosti, obaveznost itd.).

5. Potpuni tijek poziva

Članak kroz primjer koda za provjeru vremena prikazuje cijeli proces: od korisničkog pitanja, prvog poziva modela s definicijom alata, model vraća tool_calls, kod izvršava funkciju, rezultat se vraća u povijest dijaloga kao poruka s role: "tool", i na kraju model generira konačni odgovor na prirodnom jeziku.

6. Napredne značajke - paralelno pozivanje alata

Kada korisničko pitanje zahtijeva suradnju više alata (npr. istovremena provjera vremena u više gradova), model može u jednom odgovoru izlaziti listu s više tool_calls. Kod domaćina može paralelno izvršiti te pozive, a zatim sve rezultate vratiti modelu radi sinteze, čime se povećava učinkovitost.

评论

暂无已展示的评论。

发表评论(匿名)