← 返回列表

Function Calling tehnoloģijas kopsavilkums

Function Calling tehnoloģijas kopsavilkums

1. Definīcija

Function Calling ir mehānisms, kas ļauj izstrādātājiem, izmantojot JSON shēmu, aprakstīt lielvalodas modelim (LLM) pieejamos ārējos rīkus (piemēram, API). Kad modelis secina, ka, lai atbildētu uz lietotāja jautājumu, ir jāizsauc rīks, tas izvada strukturētus tool_calls JSON datus, norādot izsaucamās funkcijas nosaukumu un parametrus. Saņēmēja programma parsē un izpilda šo izsaukumu, atgriež rezultātu modelim, un modelis ģenerē galīgo atbildi.

2. Pamatprincips un atrisinātās problēmas

  • Būtība: “Divu kārtu dialogs + starpposma izpilde” slēgta cilpa. Pirmajā kārtā modelis pieņem lēmumu un izvada rīka izsaukuma pieprasījumu; starpposmā kods izpilda rīku; otrajā kārtā modelis, pamatojoties uz izpildes rezultātu, ģenerē galīgo atbildi.
  • Atrisinātās problēmas: Atrisina iepriekšējo problēmu, kad, liekot modelim izsaukt rīkus, bija jāpaļaujas uz nestabilu un kļūdainu dabiskās valodas parsēšanu (if/else nosacījumi), panākot standartizāciju un precizitātes uzlabošanu, izmantojot strukturētu izvadi.

3. Pienākumu sadalījums (analoģija ar uzdevumu deleģēšanu)

  • Izstrādātājs (HR): Definē rīkus, raksta JSON shēmu, kas apraksta rīka funkcionalitāti, parametrus utt.
  • LLM modelis (vadītājs): Saprot rīka aprakstu, pieņem lēmumu, vai nepieciešams izsaukt rīku, kuru rīku izsaukt un kādi parametri jāizmanto, un izvada strukturētu izsaukuma pieprasījumu (tool_calls). Modelis tikai pieņem lēmumus un ģenerē tekstu, nevis pats izpilda kodu.
  • Izpildītājs/saņēmējkods (darbinieks): Parsē modeļa tool_calls pieprasījumu, faktiski izpilda atbilstošo funkciju vai API izsaukumu un atgriež rezultātu.

4. Rīka definīcija (JSON shēma)

Shēma ir rīka “lietošanas instrukcija”, galvenā informācija ietver:
- name: Rīka unikālais identifikators.
- description: Ļoti svarīgi, modelis pilnībā paļaujas uz šo aprakstu, lai izlemtu, vai izsaukt rīku. Jo skaidrāks un precīzāks apraksts, jo precīzāks modeļa lēmums.
- parameters: Definē rīkam nepieciešamos parametrus un to tipus, aprakstus, ierobežojumus (piemēram, uzskaitījuma vērtības, vai parametrs ir obligāts utt.).

5. Pilns izsaukuma process

Rakstā, izmantojot laikapstākļu vaicājuma koda piemēru, tiek parādīts viss process: no lietotāja jautājuma, pirmā modeļa izsaukuma ar rīka definīciju, modeļa atgrieztā tool_calls, koda izpildītās funkcijas, rezultāta ievietošanas atpakaļ sarakstes vēsturē ar role: "tool" ziņojumu, līdz beidzot modelis ģenerē galīgo atbildi dabiskajā valodā.

6. Papildu iespējas - paralēla rīku izsaukšana

Ja lietotāja jautājumam nepieciešama vairāku rīku sadarbība (piemēram, vienlaicīgi vaicāt laikapstākļus vairākās pilsētās), modelis vienā atbildē var izvadīt sarakstu ar vairākiem tool_calls. Saņēmējkods var izpildīt šos izsaukumus paralēli un pēc tam visus rezultātus kopā atgriezt modelim, lai tas tos apkopotu, tādējādi paaugstinot efektivitāti.

评论

暂无已展示的评论。

发表评论(匿名)