Chapitre des Plans Bleus - Appel d'Outils
L'appel d'outil (Tool Call), également connu sous le nom d'appel de fonction (Function Calling), fait référence à la capacité d'un grand modèle à déterminer, en fonction du contenu de la conversation, s'il est nécessaire de faire appel à des outils/fonctions externes pour obtenir des informations ou effectuer des opérations. Le modèle renverra le nom de la fonction à appeler ainsi que ses paramètres, et après que le développeur aura effectué l'appel réel, le résultat sera retourné au modèle pour poursuivre la conversation.
AIChatPlus prend en charge la fonction Tool Call pour les plateformes suivantes :
- OpenAI
- Claude
- Gemini
- Ollama
- CllamaServer (serveur llama.cpp)
Concept clé
Définition de l'outil
La définition d'un outil comprend les champs clés suivants :
- Type: Type d'outil, actuellement uniquement
Functionest pris en charge - Nom : Nom de la fonction, doit être composé des caractères a-z, A-Z, 0-9, d’un tiret bas ou d’un trait d'union, longueur maximale de 64
- Description: Description de la fonction, le modèle utilisera cette description pour déterminer quand appeler cette fonction.
- Propriétés : Liste des paramètres de la fonction, chaque paramètre inclut des attributs tels que Nom, Description, Type, Obligatoire, etc.
Fluxus d'Appel d'Outil
Le processus complet de Tool Call est le suivant :
- Envoyer une requête : Envoyez une requête de chat incluant les définitions des Outils au modèle.
- Évaluation du modèle : Le modèle détermine s'il est nécessaire d'utiliser un outil en fonction du contenu de la conversation
- Retour d'appels d'outils: Si un appel est nécessaire, le modèle renvoie le nom de la fonction et les paramètres à appeler
- Exécution de la fonction : Les développeurs effectuent l'appel réel de la fonction en fonction des informations retournées.
- Retour des résultats : Envoyer les résultats de l'exécution de la fonction comme nouveau message au modèle
- Continuer la conversation : Le modèle génère une réponse finale basée sur les résultats de la fonction.
Exemple d'appel d'outil OpenAI
Voici un exemple avec OpenAI pour démontrer comment utiliser la fonctionnalité Tool Call.
1. Définir Outil
Commencez par créer la définition de l'outil. Dans cet exemple, nous définissons une fonction get_delivery_date pour obtenir la date de livraison d'un colis.
2. Définir les paramètres de l'outil
Ajouter des Propriétés à Tool. Dans cet exemple, ajouter un paramètre order_id, de type string, défini comme obligatoire.
3. Configuration Options
Créer le nœud OpenAI Chat Request Options, configurer l'API Key et le Model, puis connecter le tableau Tools aux Options.
4. Créer des Messages
Créer un message utilisateur pour poser une question concernant un colis express.
5. Envoyer une demande et traiter l'appel d'outil
Créez le nœud Send OpenAI Chat Request In World et liez-le à l'événement On Message Finished. Dans le rappel de l'événement, récupérez le tableau ToolCalls à partir de Payload.
Lorsque le modèle décide d'appeler un outil, le tableau ToolCalls n'est pas vide. Parcourez le tableau pour obtenir les informations de chaque appel d'outil (Tool Call) :
- Id : Identifiant unique de l'appel d'outil
- FunctionName: Nom de la fonction à appeler
- FunctionArguments: Arguments de la fonction (format chaîne JSON)
6. Exécuter la fonction et retourner le résultat
Selon FunctionName, exécuter la logique de fonction correspondante (dans cet exemple, simuler l'obtention du délai de livraison d'un colis postal), puis renvoyer le résultat au modèle sous forme de message de type ToolCallResult.
Pour créer un nouveau Message, vous devez configurer :
- Rôle: Défini sur
Outil - Contenu : Résultat de l'exécution de la fonction
- ToolCallResults : Ajoutez un
FAIChatPlus_ChatRequestToolCallResult, configurez Id (en utilisant l'Id précédent de Tool Call), FunctionName et FunctionResult
7. Continuer la conversation
Ajoutez le message contenant le résultat de ToolCallResult à l'historique des messages, puis renvoyez la requête. Le modèle générera une réponse finale en langage naturel en fonction des résultats retournés par la fonction.
Le schéma complet de l'appel d'outil ressemble à ceci :
10. Résultats d'exécution
Utilisation avancée
Plusieurs outils
Vous pouvez définir plusieurs outils simultanément, et le modèle choisira quelle(s) fonction(s) appeler selon ses besoins.
Types de paramètres complexes
Les paramètres d'outil prennent en charge plusieurs types. Il est possible d'ajouter des définitions de paramètres plus complexes, comme des types énumération, via les champs ExtraJsonString ou ExtraJsonObject :
Autres plateformes
L'utilisation des appels d'outils (Tool Call) pour Claude, Gemini, Ollama et CllamaServer est similaire à celle d'OpenAI. Il suffit de remplacer les nœuds Request et Options correspondants. Les structures de données clés (FAIChatPlus_ChatRequestTool, FAIChatPlus_ChatResponseToolCall, etc.) sont communes à toutes ces plateformes.
Original: https://wiki.disenone.site/fr
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
Ce message a été traduit avec ChatGPT, veuillez laisser votre feedbacksignaler toute omission constatée.








