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

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 guide devrait fonctionner pour presque n'importe quel modèle y compris :

Tutoriel Qwen3-Coder-NextTutoriel GLM-4.7-Flash

🔨Configuration de l'appel d'outils

Notre première étape est d'obtenir la dernière llama.cpp sur GitHub iciarrow-up-right. 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.

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 (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 :

circle-info

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

Mis à jour

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