Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Tool use : executer un outil
Tu sais maintenant definir des outils. L'etape suivante : quand le LLM decide d'utiliser un outil, il renvoie le nom de l'outil et les arguments. C'est a ton code de trouver la bonne fonction et de l'appeler avec les bons parametres. C'est le dispatcher.
En production, ca ressemble a ca : le LLM repond quelque chose comme "j'ai besoin d'appeler l'outil meteo avec ville=Paris". Ton backend recoit cette reponse, cherche la fonction correspondante dans un registre d'outils, et l'execute.
Voici le flux complet :
LLM repond : {"tool": "meteo", "arguments": {"ville": "Paris"}} Ton code : trouve la fonction meteo, l'appelle avec ville="Paris" Resultat : "Il fait beau a Paris"
Tu vas ecrire une fonction executer_outil(appel, outils) qui prend : - appel : un dictionnaire avec "tool" (nom de l'outil) et "arguments" (dictionnaire des arguments) - outils : une liste d'outils (crees avec creer_outil de l'exercice precedent)
La fonction doit : 1. Chercher l'outil dont le "name" correspond a appel["tool"] 2. Si l'outil n'existe pas, renvoyer {"erreur": "Outil inconnu: <nom>"} 3. Si l'outil existe, appeler sa "function" avec les arguments (en utilisant **arguments pour le unpacking) 4. Renvoyer {"resultat": <valeur de retour de la fonction>} 5. Si l'appel de la fonction leve une exception, renvoyer {"erreur": "<message de l'exception>"}