Resum de la tecnologia Function Calling
Resum de la tecnologia Function Calling
1. Definició
Function Calling és un mecanisme que permet als desenvolupadors descriure eines externes (com API) a un model de llenguatge gran (LLM) mitjançant un esquema JSON. Quan el model determina que necessita cridar una eina per respondre a la pregunta de l'usuari, genera dades JSON estructurades tool_calls que indiquen el nom de la funció i els paràmetres a cridar. El programa amfitrió analitza i executa aquesta crida, retorna el resultat al model, i el model genera la resposta final.
2. Principi fonamental i problemes resolts
- Essència: Un bucle tancat de "dues rondes de diàleg + execució intermèdia". A la primera ronda, el model decideix i genera una sol·licitud de crida d'eina; el codi intermedi executa l'eina; a la segona ronda, el model genera la resposta final basant-se en el resultat de l'execució.
- Problemes resolts: Resol el problema anterior de dependre d'una anàlisi de llenguatge natural inestable i propensa a errors (if/else) per fer que el model cridi eines, millorant l'estandardització i la precisió mitjançant la sortida estructurada.
3. Divisió de responsabilitats (analogia de delegació de tasques)
- Desenvolupador (RRHH): Defineix les eines, escriu l'esquema JSON que descriu la funcionalitat, els paràmetres, etc.
- Model LLM (gerent): Entén la descripció de l'eina, decideix si cal cridar-la, quina eina i quins paràmetres, i genera una sol·licitud de crida estructurada (
tool_calls). El model només pren decisions i genera text, no executa el codi. - Executor/codi amfitrió (empleat): Analitza la sol·licitud
tool_callsdel model, executa realment la funció o crida API corresponent, i retorna el resultat.
4. Definició d'eina (JSON Schema)
L'esquema és el "manual d'instruccions" de l'eina. La informació clau inclou:
- name: Identificador únic de l'eina.
- description: Crucial, el model es basa completament en aquesta descripció per decidir si cridar l'eina. Com més clara i precisa sigui la descripció, més precisa serà la decisió del model.
- parameters: Defineix els paràmetres necessaris per a l'eina, el seu tipus, descripció, restriccions (com valors enumerats, obligatorietat, etc.).
5. Flux de crida complet
L'article mostra, mitjançant un exemple de codi per consultar el temps, tot el procés des que l'usuari fa una pregunta, es fa la primera crida al model amb la definició de l'eina, el model retorna tool_calls, el codi executa la funció, el resultat s'insereix a l'historial de xat com un missatge amb role: "tool", fins que el model genera la resposta final en llenguatge natural.
6. Funcionalitat avançada - Crides d'eines paral·leles
Quan la pregunta de l'usuari requereix la col·laboració de múltiples eines (per exemple, consultar el temps de diverses ciutats alhora), el model pot generar una llista de múltiples tool_calls en una sola resposta. El codi amfitrió pot executar aquestes crides en paral·lel i després retornar tots els resultats al model per a la seva síntesi, millorant així l'eficiència.
评论
暂无已展示的评论。
发表评论(匿名)