← 返回列表

Function Calling Teknisk Oppsummering

Function Calling Teknisk Oppsummering

1. Definisjon

Function Calling er en mekanisme som lar utviklere beskrive tilgjengelige eksterne verktøy (som APIer) til store språkmodeller (LLM) via JSON-skjema. Når modellen vurderer at den trenger å kalle et verktøy for å svare på brukerens spørsmål, genererer den strukturerte tool_calls JSON-data som angir funksjonsnavn og parametere. Vertskoden analyserer og utfører dette kallet, returnerer resultatet til modellen, som deretter genererer det endelige svaret.

2. Kjerne Prinsipp og Problemer Det Løser

  • Essens: En "to-runders samtale + mellomliggende utførelse"-sløyfe. Første runde: modellen bestemmer seg og sender en verktøykall-forespørsel; mellomliggende kode utfører verktøyet; andre runde: modellen genererer det endelige svaret basert på utførelsesresultatet.
  • Problemer det løser: Løser problemet med tidligere ustabil og feilutsatt naturlig språktolkning (if/else-sjekker) for å få modellen til å kalle verktøy, og oppnår standardisering og nøyaktighetsforbedring gjennom strukturert utdata.

3. Ansvarsfordeling (Analogi til Oppgavedelegering)

  • Utvikler (HR): Definerer verktøy, skriver JSON-skjema som beskriver verktøyets funksjon, parametere osv.
  • LLM-modell (Manager): Forstår verktøybeskrivelsen, bestemmer om et kall er nødvendig, hvilket verktøy som skal kalles og hvilke parametere som skal brukes, og sender en strukturert kallforespørsel (tool_calls). Modellen tar bare beslutninger og genererer tekst, den utfører ikke kode selv.
  • Utfører/Vertskode (Ansatt): Analyserer modellens tool_calls-forespørsel, utfører den tilsvarende funksjonen eller API-kallet, og returnerer resultatet.

4. Verktøydefinisjon (JSON-skjema)

Skjemaet er verktøyets "bruksanvisning", nøkkelinformasjon inkluderer:
- name: Unik identifikator for verktøyet.
- description: Avgjørende, modellen er helt avhengig av denne beskrivelsen for å avgjøre om verktøyet skal kalles. Jo tydeligere og mer presis beskrivelsen er, desto bedre blir modellens beslutning.
- parameters: Definerer parametere som kreves av verktøyet, deres typer, beskrivelser, begrensninger (som opplistingsverdier, om de er obligatoriske osv.).

5. Full Kallflyt

Artikkelen viser gjennom et kodeeksempel for værsøk hele prosessen: fra brukerens spørsmål, første modellkall med verktøydefinisjon, modellen returnerer tool_calls, kode utfører funksjonen, resultatet settes inn i samtalehistorikken som en role: "tool"-melding, til slutt genererer modellen det endelige svaret på naturlig språk.

6. Avanserte Funksjoner - Parallell Verktøykall

Når brukerens spørsmål krever samarbeid mellom flere verktøy (f.eks. samtidig spørre om vær i flere byer), kan modellen i én respons sende en liste med flere tool_calls. Vertskoden kan utføre disse kallene parallelt, og deretter returnere alle resultatene samlet til modellen for integrering, noe som forbedrer effektiviteten.

评论

暂无已展示的评论。

发表评论(匿名)