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_callszahtjev 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.
评论
暂无已展示的评论。
发表评论(匿名)