Aller au contenu

Appel d’outils

L’appel d’outils, ou appel de fonctions, est une fonctionnalité qui permet à un modèle de langage de demander à ton programme d’exécuter une fonction, puis d’en utiliser le résultat dans sa réponse. Le modèle n’exécute jamais rien lui-même : il renvoie le nom d’un outil et ses arguments, et c’est ton code qui travaille.

Mis à jour le 8 novembre 2026

  1. Lisible sur tes appareils seulement.

    Ta discussion s’affiche en clair sur ton appareil, et sur tes autres appareils si tu les synchronises. Nulle part ailleurs.

  2. Illisible chez nous.

    Ton message passe sans être écrit ; tes discussions n’y restent que chiffrées.

  3. Le modèle ignore qui tu es.

    Il reçoit la question, jamais ton e-mail, ton compte ni ton adresse IP.

  4. Rien ne reste en route.

    La réponse revient et se range ici, chiffrée ; même synchronisée, ta clé ne nous parvient jamais en clair.

Le trajet d’une discussion sur NeverNo. Le détail est sur la page de transparence.

Comment ça marche

On commence par décrire les outils proposés. Chacun a un nom, une courte description et un schéma JSON de ses paramètres, par exemple une fonction get_weather qui prend une ville. Tu envoies cette liste avec la conversation. Si le modèle juge un outil utile, sa réponse contient un appel d’outil plutôt que du texte final : le nom de l’outil et les arguments, écrits en JSON. Ton programme exécute la fonction, ajoute un message portant le résultat et l’identifiant de l’appel, puis renvoie le tout. Le modèle rédige alors la réponse finale à partir de ce résultat. Pense à un serveur qui note ta commande sur un papier sans jamais entrer en cuisine. Exemples typiques : consulter l’état d’une commande, convertir une devise, interroger une base de connaissances ou créer un événement d’agenda.

La plupart des API permettent d’orienter le comportement. On peut laisser le choix au modèle, interdire les outils, exiger qu’un outil soit appelé ou nommer l’outil précis. Plusieurs appels peuvent venir dans la même réponse, ce qui économise des allers-retours quand ils sont indépendants, et dans une réponse en flux les arguments arrivent par morceaux sous le même indice. Le même mécanisme fait tourner les agents, qui répètent le cycle appel, résultat, décision, et c’est aussi une façon fiable d’extraire des données structurées d’un texte. Certains fournisseurs proposent un mode strict qui impose à la sortie de correspondre exactement au schéma et supprime beaucoup d’appels mal formés.

Il faut rester prudent. Un modèle peut choisir le mauvais outil, inventer un argument ou appeler une fonction avec des valeurs valides mais dangereuses : valide donc les arguments de ton côté et n’exécute jamais plus puissant que nécessaire. Tous les modèles ne prennent pas cette fonctionnalité en charge, et ceux qui le font respectent un schéma avec plus ou moins de constance. Teste sur des cas réels, garde des descriptions d’outils courtes et précises, et donne aux outils des noms qui disent ce qu’ils font. Garde la liste d’outils courte : un long menu perturbe les modèles et grignote la fenêtre de contexte. Défauts typiques : une ville mal orthographiée, un champ obligatoire manquant ou une date au mauvais format.

Dans NeverNo

L’API de NeverNo le prend en charge sur les complétions de discussion. Passe tools, une liste de fonctions avec un schéma JSON, et éventuellement tool_choice (auto, none, required ou une fonction nommée) et parallel_tool_calls. Quand le modèle appelle un outil, la réponse contient tool_calls et finish_reason vaut tool_calls ; tu exécutes la fonction et renvoies un message tool avec le résultat et son tool_call_id. En flux, chaque appel arrive comme OpenAI l’écrit.

Seuls les modèles dont capabilities.tools vaut true dans la liste /models acceptent des outils ; tout autre répond par une erreur 400 claire nommée tools_not_supported. GLM 5.2, un modèle privé de Z.ai inclus dans les offres payantes, a une fenêtre de contexte de 200 000 jetons et un mode de raisonnement optionnel. Consulte la liste avant de construire sur un modèle. La page sur l’alternative à ChatGPT explique pourquoi l’on choisit NeverNo pour la variété des modèles.

À retenir

  1. Le modèle demande un outil ; ton programme l’exécute et renvoie le résultat.

  2. Chaque outil se décrit par un schéma JSON.

  3. Valide chaque argument : un appel bien formé n’est pas toujours sûr.

  4. Seuls les modèles qui déclarent cette capacité acceptent des outils.

Questions fréquentes

Le modèle exécute-t-il la fonction ?

Non. Il produit seulement une demande structurée qui nomme la fonction et ses arguments. Ton code exécute la fonction, c’est pourquoi tu contrôles ce qui peut réellement arriver. Cette séparation permet aussi d’ajouter des journaux, des limites de débit ou une étape de confirmation avant toute exécution.

L’appel d’outils est-il la même chose que l’appel de fonctions ?

En pratique, oui. L’appel de fonctions est le premier nom employé par OpenAI ; l’appel d’outils est le terme plus large, puisque l’outil peut être une fonction, une recherche ou un autre service.

Comment savoir si un modèle le prend en charge ?

Lis ses capacités dans la liste des modèles. Sur NeverNo, GET /models affiche capabilities.tools pour chaque modèle, et un modèle qui ne l’a pas répond par une erreur 400 au lieu d’ignorer les outils en silence. Tester une petite requête avec un outil trivial est le moyen le plus rapide de vérifier le comportement d’un modèle.

Pose ta première question

Sans compte ni carte. Écris dans l’une des 10 langues que parle NeverNo.

Ouvrir le chat