screwdriver-wrenchGuide d'appel d'outils pour les LLM locaux

L'appel d'outil est lorsque qu'un LLM est autorisé à 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 les appels d'outil parce qu'ils rendent les résultats plus fiables et à jour, et ils permettent au modèle de prendre de véritables actions (interroger des systèmes, valider des faits, appliquer des schémas) plutôt que d'halluciner.

Dans ce tutoriel, vous apprendrez comment utiliser des LLM locaux via Tool Calling avec des exemples mathématiques, d'histoire, de code Python et de fonctions terminal. L'inférence se fait localement via llama.cpp, llama-server et des points de terminaison OpenAI.

Notre guide devrait fonctionner pour presque n'importe quel modèle y compris :

Tutoriel Qwen3-Coder-NextTutoriel GLM-4.7-Flash

🔨Configuration de Tool Calling

Notre première étape est d'obtenir la dernière llama.cpp sur GitHub iciarrow-up-right. Vous pouvez aussi suivre les instructions de compilation ci-dessous. Changez -DGGML_CUDA=ON en -DGGML_CUDA=OFF si vous n'avez pas de GPU ou si vous voulez simplement de l'inférence CPU. Pour les appareils Apple Mac / Metal, définissez -DGGML_CUDA=OFF puis continuez comme d'habitude - le support Metal est activé par défaut.

apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp

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 (copier-coller et exécuter) qui analyseront automatiquement les appels de fonctions et appelleront le point de terminaison OpenAI pour n'importe quel modèle :

circle-info

Dans cet exemple nous utilisons Devstral 2, lors du changement de modèle, assurez-vous d'utiliser les bons paramètres d'échantillonnage. Vous pouvez tous les consulter dans nos guides ici.

Maintenant nous allons présenter plusieurs méthodes d'exécution d'appels d'outils pour de nombreux cas d'utilisation différents ci-dessous :

Écrire une histoire :

Opérations mathématiques :

Exécuter du code Python généré

Exécuter des fonctions arbitraires du terminal

🌠 Appel d'outil 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 :

Maintenant nous allons présenter plusieurs méthodes d'exécution d'appels d'outils pour de nombreux cas d'utilisation différents 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 et en exécutant du code Python, rappel : exécutez Tool Calling Guide Nous utilisons les paramètres optimaux de GLM 4.7 de 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'outil Devstral 2

Nous téléchargeons d'abord Devstral 2 via du code Python, puis le lancez 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 de temperature = 0.15 uniquement. Rappel : exécutez Tool Calling Guide

Mis à jour

Ce contenu vous a-t-il été utile ?