← 返回列表

Function Calling - Tekninen Yhteenveto

Function Calling - Tekninen Yhteenveto

1. Määritelmä

Function Calling on mekanismi, jonka avulla kehittäjä voi kuvata suurelle kielimallille (LLM) käytettävissä olevia ulkoisia työkaluja (kuten API) JSON-skeeman avulla. Kun malli päättää, että työkalua tarvitaan käyttäjän kysymykseen vastaamiseksi, se tuottaa jäsennellyn tool_calls-JSON-datan, joka ilmaisee kutsuttavan funktion nimen ja parametrit. Isäntäohjelma jäsentää ja suorittaa kutsun, palauttaa tuloksen mallille, joka sitten tuottaa lopullisen vastauksen.

2. Keskeinen periaate ja ratkaistut ongelmat

  • Olemus: "Kaksivaiheinen keskustelu + väliaikainen suoritus" -silmukka. Ensimmäisessä vaiheessa malli tekee päätöksen ja tuottaa työkalua koskevan kutsupyynnön; väliaikainen koodi suorittaa työkalun; toisessa vaiheessa malli tuottaa lopullisen vastauksen suoritustuloksen perusteella.
  • Ratkaistut ongelmat: Aiemmin mallin työkalujen kutsuminen vaati epävakaata ja virhealtista luonnollisen kielen jäsennystä (if/else-päätöksiä). Jäsennellyn tulosteen avulla saavutetaan standardointi ja tarkkuuden parannus.

3. Vastuunjako (vertauskuvana tehtävien delegointi)

  • Kehittäjä (HR): Määrittelee työkalut, kirjoittaa JSON-skeeman, joka kuvaa työkalun toiminnallisuuden, parametrit jne.
  • LLM-malli (johtaja): Ymmärtää työkalun kuvauksen, päättää tarvitaanko kutsua, mitä työkalua kutsutaan ja mitkä ovat parametrit, ja tuottaa jäsennellyn kutsupyynnön (tool_calls). Malli tekee vain päätöksiä ja tuottaa tekstiä, ei itse suorita koodia.
  • Suorittaja/isäntäkoodi (työntekijä): Jäsentää mallin tool_calls-pyynnön, suorittaa vastaavan funktion tai API-kutsun ja palauttaa tuloksen.

4. Työkalun määrittely (JSON-skeema)

Skeema on työkalun "käyttöohje", keskeisiä tietoja ovat:
- name: Työkalun yksilöllinen tunniste.
- description: Erittäin tärkeä, malli luottaa täysin tähän kuvaukseen päättäessään kutsutaanko työkalua. Mitä selkeämpi ja tarkempi kuvaus, sitä tarkempi mallin päätös.
- parameters: Määrittelee työkalun tarvitsemat parametrit ja niiden tyypit, kuvaukset, rajoitukset (kuten sallitut arvot, pakollisuus jne.).

5. Täydellinen kutsuvuon esimerkki

Artikkelissa esitetään sään kyselyä koskeva koodiesimerkki, joka näyttää koko prosessin käyttäjän kysymyksestä, ensimmäiseen mallikutsuun työkalumäärittelyineen, mallin palauttamaan tool_calls-dataan, koodin suorittamaan funktioon, tuloksen lisäämiseen keskusteluhistoriaan role: "tool" -viestinä ja lopuksi mallin tuottamaan lopulliseen luonnollisen kielen vastaukseen.

6. Edistyneet ominaisuudet - Rinnakkaiset työkalujen kutsut

Kun käyttäjän kysymys vaatii useiden työkalujen yhteistyötä (esim. sään kysely useasta kaupungista samanaikaisesti), malli voi yhdessä vastauksessa tuottaa listan, joka sisältää useita tool_calls-kutsuja. Isäntäkoodi voi suorittaa nämä kutsut rinnakkain ja palauttaa kaikki tulokset kerralla mallille yhdistettäväksi, mikä parantaa tehokkuutta.

评论

暂无已展示的评论。

发表评论(匿名)