L'appel d'outil consiste à permettre à un LLM de déclencher des fonctions spécifiques (comme « rechercher dans mes fichiers », « exécuter une calculatrice » ou « appeler une API ») en émettant une requête structurée au lieu de deviner la réponse en texte. Vous utilisez des appels d'outil parce qu'ils rendent les résultats plus fiables et à jour, et ils permettent au modèle d'entreprendre de vraies actions (interroger des systèmes, valider des faits, appliquer des schémas) plutôt que d'halluciner.
Dans ce tutoriel, vous apprendrez à utiliser des LLM locaux via l'appel d'outils avec des exemples mathématiques, d'histoire, de code Python et de fonctions terminal. L'inférence est effectuée localement via llama.cpp, llama-server et les points de terminaison OpenAI.
Notre première étape est d'obtenir la dernière llama.cpp sur GitHub ici. Vous pouvez suivre les instructions de compilation ci-dessous également. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement une inférence CPU.
Dans un nouveau terminal (si vous utilisez tmux, utilisez CTRL+B+D), nous créons quelques outils comme l'addition de 2 nombres, l'exécution de code Python, l'exécution de fonctions Linux et bien plus encore :
Nous utilisons ensuite les fonctions ci-dessous (copiez-collez et exécutez) qui analyseront automatiquement les appels de fonctions et appelleront le point de terminaison OpenAI pour n'importe quel modèle :
Dans cet exemple, nous utilisons Devstral 2 ; lorsque vous changez de modèle, assurez-vous d'utiliser les paramètres d'échantillonnage corrects. Vous pouvez tous les consulter dans nos guides ici.
Nous allons maintenant présenter plusieurs méthodes d'exécution d'appels d'outils pour de nombreux cas d'utilisation ci-dessous :
Écriture d'une histoire :
Opérations mathématiques :
Exécuter du code Python généré
Exécuter des fonctions arbitraires du terminal
🌠 Appel d'outils Qwen3-Coder-Next
Dans un nouveau terminal, nous créons quelques outils comme l'addition de 2 nombres, l'exécution de code Python, l'exécution de fonctions Linux et bien plus encore :
Nous utilisons ensuite les fonctions ci-dessous qui analyseront automatiquement les appels de fonctions et appelleront le point de terminaison OpenAI pour tout LLM :
Nous allons maintenant présenter plusieurs méthodes d'exécution d'appels d'outils pour de nombreux cas d'utilisation ci-dessous :
Exécuter du code Python généré
Exécuter des fonctions arbitraires du terminal
Nous confirmons que le fichier a été créé et c'est le cas !
⚡ GLM-4.7-Flash + Appel GLM 4.7
Nous téléchargeons d'abord GLM-4.7 ou GLM-4.7-Flash via du code Python, puis le lançons via llama-server dans un terminal séparé (comme en utilisant tmux). Dans cet exemple, nous téléchargeons le grand modèle GLM-4.7 :
Si vous l'avez exécuté avec succès, vous devriez voir :
Lancez-le maintenant via llama-server dans un nouveau terminal. Utilisez tmux si vous le souhaitez :
Et vous obtiendrez :
Maintenant, dans un nouveau terminal en exécutant du code Python, rappel : exécutez Tool Calling Guide Nous utilisons les paramètres optimaux de GLM 4.7 : temperature = 0.7 et top_p = 1.0
Appel d'outil pour opérations mathématiques pour GLM 4.7
Appel d'outil pour exécuter du code Python généré pour GLM 4.7
📙 Appel d'outils Devstral 2
Nous téléchargeons d'abord Devstral 2 via du code Python, puis le lancer via llama-server dans un terminal séparé (comme en utilisant tmux) :
Si vous l'avez exécuté avec succès, vous devriez voir :
Lancez-le maintenant via llama-server dans un nouveau terminal. Utilisez tmux si vous le souhaitez :
Vous verrez ce qui suit si cela a réussi :
Nous appelons ensuite le modèle avec le message suivant et avec les paramètres suggérés par Devstral : temperature = 0.15 uniquement. Rappel d'exécuter Tool Calling Guide