← 返回列表

Function Calling technikai összefoglaló

Function Calling technikai összefoglaló

1. Meghatározás

A Function Calling egy olyan mechanizmus, amely lehetővé teszi a fejlesztők számára, hogy JSON séma segítségével leírják az elérhető külső eszközöket (pl. API-kat) a nagy nyelvi modell (LLM) számára. Amikor a modell úgy ítéli meg, hogy egy eszközt kell meghívnia a felhasználó kérdésének megválaszolásához, strukturált tool_calls JSON adatokat ad ki, jelezve a meghívandó függvény nevét és paramétereit. A gazdaprogram elemzi és végrehajtja ezt a hívást, az eredményt visszaadja a modellnek, amely aztán generálja a végső választ.

2. Alapelv és megoldott problémák

  • Lényeg: „Két körös párbeszéd + köztes végrehajtás” zárt ciklusa. Az első körben a modell dönt és kiadja az eszközhívási kérelmet; a köztes kód végrehajtja az eszközt; a második körben a modell a végrehajtás eredménye alapján generálja a végső választ.
  • Megoldott problémák: Megoldotta azt a korábbi problémát, amikor a modell eszközhívásához instabil, hibára hajlamos természetes nyelvi elemzésre (if/else feltételek) volt szükség, és strukturált kimenettel szabványosítást és pontosságnövelést ért el.

3. Feladatmegosztás (feladatdelegálási analógia)

  • Fejlesztő (HR): Meghatározza az eszközöket, megírja az eszköz funkcióit, paramétereit stb. leíró JSON Sémát.
  • LLM modell (menedzser): Értelmezi az eszközleírást, dönt arról, hogy szükséges-e hívás, melyik eszközt és milyen paraméterekkel hívja, és strukturált hívási kérelmet (tool_calls) ad ki. A modell csak dönt és szöveget generál, nem maga hajtja végre a kódot.
  • Végrehajtó/gazdakód (alkalmazott): Elemzi a modell tool_calls kérését, ténylegesen végrehajtja a megfelelő függvényt vagy API-hívást, és visszaadja az eredményt.

4. Eszközmeghatározás (JSON Schema)

A séma az eszköz „használati útmutatója”, a kulcsfontosságú információk:
- name: Az eszköz egyedi azonosítója.
- description: Kiemelten fontos, a modell teljes mértékben erre a leírásra támaszkodik annak eldöntésében, hogy meghívja-e az eszközt. Minél világosabb és pontosabb a leírás, annál pontosabb a modell döntése.
- parameters: Meghatározza az eszköz által igényelt paramétereket, azok típusát, leírását, megszorításait (pl. felsorolt értékek, kötelezőség stb.).

5. Teljes hívási folyamat

A cikk egy időjárás-lekérdező kódpéldán keresztül mutatja be a teljes folyamatot a felhasználói kérdéstől, az eszközdefinícióval ellátott első modellhíváson, a modell tool_calls visszatérésén, a kód függvényvégrehajtásán, az eredmény role: "tool" üzenetként történő visszahelyezésén át a beszélgetési előzményekbe, egészen a modell végső természetes nyelvű válaszának generálásáig.

6. Haladó funkció - Párhuzamos eszközhívás

Amikor a felhasználói kérdés több eszköz együttműködését igényli (pl. több város időjárásának egyidejű lekérdezése), a modell egyetlen válaszban több tool_calls-t tartalmazó listát adhat ki. A gazdakód párhuzamosan végrehajthatja ezeket a hívásokat, majd az összes eredményt egyszerre visszaadja a modellnek összesítésre, ezzel növelve a hatékonyságot.

评论

暂无已展示的评论。

发表评论(匿名)