← 返回列表

Sažetak tehnologije Function Calling

Sažetak tehnologije Function Calling

1. Definicija

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

2. Osnovni princip i problem koji rješava

  • Suština: Zatvoreni krug "dvije runde dijaloga + međuizvršenje". U prvoj rundi model donosi odluku i izlazi zahtjev za poziv alata; međukod izvršava alat; u drugoj rundi model na osnovu rezultata izvršenja generira konačni odgovor.
  • Problem koji rješava: Rješava problem ranijeg oslanjanja na nestabilno i sklono greškama parsiranje prirodnog jezika (if/else provjere) prilikom pozivanja alata od strane modela, te kroz strukturirani izlaz postiže standardizaciju i povećanje tačnosti.

3. Podjela odgovornosti (analogija delegiranja zadataka)

  • Programer (HR): Definira alate, piše JSON shemu koja opisuje funkcionalnost alata, parametre itd.
  • LLM model (menadžer): Razumije opis alata, odlučuje da li je potrebno pozvati alat, koji alat pozvati i koji su parametri, te izlazi strukturirani zahtjev za poziv (tool_calls). Model samo donosi odluke i generira tekst, ne izvršava kod lično.
  • Izvršitelj/kod domaćin (zaposlenik): Parsira tool_calls zahtjev modela, stvarno izvršava odgovarajuću funkciju ili API poziv, i vraća rezultat.

4. Definicija alata (JSON Schema)

Shema je "uputstvo" za alat, ključne informacije uključuju:
- name: Jedinstveni identifikator alata.
- description: Izuzetno važno, model se u potpunosti oslanja na ovaj opis kako bi odlučio da li će pozvati alat. Što je opis jasniji i tačniji, to je odluka modela tačnija.
- parameters: Definira potrebne parametre alata, njihove tipove, opise, ograničenja (poput nabrojanih vrijednosti, obaveznost itd.).

5. Potpuni tok 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 ubacuje u historiju dijaloga kao poruka s role: "tool", do konačnog generiranja odgovora na prirodnom jeziku od strane modela.

6. Napredna karakteristika - Paralelni pozivi alata

Kada korisničko pitanje zahtijeva koordinaciju više alata (npr. istovremena provjera vremena u više gradova), model može u jednom odgovoru izlaziti listu koja sadrži više tool_calls. Kod domaćin može paralelno izvršiti ove pozive, a zatim sve rezultate vratiti modelu radi sinteze, čime se povećava efikasnost.

评论

暂无已展示的评论。

发表评论(匿名)