← 返回列表

Rezumat al Tehnologiei Function Calling

Rezumat al Tehnologiei Function Calling

1. Definiție

Function Calling este un mecanism care permite dezvoltatorilor să descrie instrumente externe disponibile (cum ar fi API-uri) unui model de limbaj mare (LLM) printr-un JSON schema. Când modelul consideră că este necesar să apeleze un instrument pentru a răspunde la întrebarea utilizatorului, acesta generează date JSON structurate tool_calls, specificând numele funcției și parametrii. Programul gazdă parsează și execută apelul, returnează rezultatul modelului, iar modelul generează răspunsul final.

2. Principiul de bază și problemele rezolvate

  • Esență: O buclă închisă de „două runde de dialog + execuție intermediară”. În prima rundă, modelul decide și generează o cerere de apelare a instrumentului; codul intermediar execută instrumentul; în a doua rundă, modelul generează răspunsul final pe baza rezultatului execuției.
  • Probleme rezolvate: Rezolvă problema dependenței de parsarea instabilă și predispusă la erori a limbajului natural (instrucțiuni if/else) pentru apelarea instrumentelor, realizând standardizare și îmbunătățire a acurateței prin ieșire structurată.

3. Împărțirea responsabilităților (analogie cu delegarea sarcinilor)

  • Dezvoltatorul (HR): Definește instrumentele, scrie JSON Schema care descrie funcționalitatea, parametrii etc.
  • Modelul LLM (manager): Înțelege descrierea instrumentelor, decide dacă este necesar să apeleze, ce instrument să apeleze și care sunt parametrii, și generează o cerere de apel structurată (tool_calls). Modelul doar decide și generează text, nu execută codul.
  • Executorul/codul gazdă (angajat): Parsează cererea tool_calls a modelului, execută efectiv funcția sau apelul API și returnează rezultatul.

4. Definirea instrumentelor (JSON Schema)

Schema este „manualul de instrucțiuni” al instrumentului, informațiile cheie includ:
- name: Identificatorul unic al instrumentului.
- description: Esențial, modelul se bazează complet pe această descriere pentru a decide dacă să apeleze instrumentul. Cu cât descrierea este mai clară și mai precisă, cu atât decizia modelului este mai corectă.
- parameters: Definește parametrii necesari instrumentului, tipurile lor, descrierile, constrângerile (de exemplu, valori enumerative, obligativitate etc.).

5. Fluxul complet al apelului

Articolul, printr-un exemplu de cod pentru interogarea vremii, prezintă întregul proces de la întrebarea utilizatorului, prima apelare a modelului cu definițiile instrumentelor, modelul returnând tool_calls, codul executând funcția, inserarea rezultatului în istoricul conversației cu role: "tool", până la generarea răspunsului final în limbaj natural de către model.

6. Caracteristici avansate - Apelarea paralelă a instrumentelor

Când întrebarea utilizatorului necesită cooperarea mai multor instrumente (de exemplu, interogarea simultană a vremii în mai multe orașe), modelul poate genera într-un singur răspuns o listă care conține mai multe tool_calls. Codul gazdă poate executa aceste apeluri în paralel, apoi returnează toate rezultatele modelului pentru sinteză, îmbunătățind astfel eficiența.

评论

暂无已展示的评论。

发表评论(匿名)