← 返回列表

Function Calling technologijos apžvalga

Function Calling technologijos apžvalga

1. Apibrėžimas

Function Calling yra mechanizmas, leidžiantis kūrėjams aprašyti prieinamus išorinius įrankius (pvz., API) dideliam kalbos modeliui (LLM) naudojant JSON schemą. Kai modelis nusprendžia, kad reikia iškviesti įrankį, kad atsakytų į vartotojo klausimą, jis išveda struktūrizuotus tool_calls JSON duomenis, nurodančius funkcijos pavadinimą ir parametrus. Pagrindinė programa išanalizuoja ir įvykdo šį iškvietimą, grąžina rezultatą modeliui, o modelis sugeneruoja galutinį atsakymą.

2. Pagrindinis principas ir sprendžiamos problemos

  • Esmė: „Dviejų pokalbių ratų + tarpinio vykdymo“ ciklas. Pirmame rate modelis priima sprendimą ir išveda įrankio iškvietimo užklausą; tarpinis kodas vykdo įrankį; antrame rate modelis, remdamasis vykdymo rezultatu, sugeneruoja galutinį atsakymą.
  • Sprendžiamos problemos: Išsprendžia ankstesnę problemą, kai modelio įrankių iškvietimui reikėjo remtis nestabiliu, klaidingu natūralios kalbos apdorojimu (if/else sąlygomis), o dabar struktūrizuota išvestis užtikrina standartizaciją ir tikslumo padidėjimą.

3. Atsakomybių pasiskirstymas (analogija su užduočių delegavimu)

  • Kūrėjas (HR): Apibrėžia įrankius, parašo JSON schemą, aprašančią įrankio funkciją, parametrus ir kt.
  • LLM modelis (vadovas): Supranta įrankio aprašymą, nusprendžia, ar reikia iškviesti, kurį įrankį ir kokius parametrus naudoti, ir išveda struktūrizuotą iškvietimo užklausą (tool_calls). Modelis tik priima sprendimus ir generuoja tekstą, pats nevykdo kodo.
  • Vykdytojas / pagrindinis kodas (darbuotojas): Išanalizuoja modelio tool_calls užklausą, faktiškai įvykdo atitinkamą funkciją ar API iškvietimą ir grąžina rezultatą.

4. Įrankio apibrėžimas (JSON Schema)

Schema yra įrankio „instrukcija“, pagrindinė informacija apima:
- name: Unikalus įrankio identifikatorius.
- description: Itin svarbu – modelis visiškai remiasi šiuo aprašymu, kad nuspręstų, ar kviesti įrankį. Kuo aiškesnis ir tikslesnis aprašymas, tuo tikslesnis modelio sprendimas.
- parameters: Apibrėžia įrankiui reikalingus parametrus, jų tipus, aprašymus, apribojimus (pvz., išvardintas reikšmes, ar būtini).

5. Pilnas iškvietimo procesas

Straipsnyje, naudojant orų tikrinimo kodo pavyzdį, parodomas visas procesas nuo vartotojo klausimo, pirmojo modelio iškvietimo su įrankio apibrėžimu, modelio grąžinto tool_calls, kodo funkcijos vykdymo, rezultato įterpimo į pokalbio istoriją kaip role: "tool" žinutę iki galutinio modelio sugeneruoto natūralios kalbos atsakymo.

6. Išplėstinė funkcija – lygiagretus įrankių iškvietimas

Kai vartotojo klausimui reikia kelių įrankių bendradarbiavimo (pvz., vienu metu tikrinti orą keliuose miestuose), modelis viename atsakyme gali išvesti sąrašą su keliais tool_calls. Pagrindinis kodas gali vykdyti šiuos iškvietimus lygiagrečiai, o tada visus rezultatus grąžinti modeliui apibendrinimui, taip padidinant efektyvumą.

评论

暂无已展示的评论。

发表评论(匿名)