L'ajout de plusieurs outils à votre implémentation de Claude devient simple une fois que vous disposez de l'infrastructure de base de gestion des outils. Ce tutoriel montre comment intégrer des outils supplémentaires en suivant un modèle simple.

Les outils que nous ajoutons
Nous avons besoin de trois capacités principales pour notre système de rappel :
- Obtenir la date et l'heure actuelles - Claude doit connaître la date et l'heure actuelles
- Ajouter une durée à une date/heure - Claude n'est pas parfait pour l'addition de date/heure
- Définir un rappel - Il faut un moyen de définir un rappel
La bonne nouvelle est que la majeure partie du travail d'implémentation est déjà effectuée. La fonction add_duration_to_datetime gère diverses unités de temps (secondes, minutes, heures, jours, semaines, mois) et renvoie des chaînes de date/heure correctement formatées.

La fonction set_reminder est un simple espace réservé qui affiche des détails de confirmation plutôt que de définir réellement des rappels système.
Ajout d'outils à la conversation
Le processus suit le même modèle que celui établi précédemment. Tout d'abord, mettez à jour la fonction run_conversation pour inclure les nouveaux schémas d'outils :
response = chat(messages, tools=[
get_current_datetime_schema,
add_duration_to_datetime_schema,
set_reminder_schema
])
Cela indique à Claude tous les outils disponibles qu'il peut utiliser pendant la conversation.
Gestion de l'exécution des outils
Ensuite, mettez à jour la fonction run_tool pour gérer les nouveaux appels d'outils :
def run_tool(tool_name, tool_input):
if tool_name == "get_current_datetime":
return get_current_datetime(**tool_input)
elif tool_name == "add_duration_to_datetime":
return add_duration_to_datetime(**tool_input)
elif tool_name == "set_reminder":
return set_reminder(**tool_input)
Le modèle est cohérent : vérifier le nom de l'outil, appeler la fonction correspondante avec l'entrée fournie, et renvoyer le résultat.
Test de l'utilisation de plusieurs outils
Testons avec une demande complexe qui nécessite plusieurs outils : « Définis un rappel pour mon rendez-vous chez le médecin. C'est 177 jours après le 1er janvier 2050. »
Cette demande oblige Claude à :
- Calculer la date 177 jours après le 1er janvier 2050
- Définir un rappel pour cette date calculée

Claude gère cela en expliquant d'abord ce qu'il doit faire, puis en utilisant l'outil add_duration_to_datetime pour calculer le 27 juin 2050, et enfin en appelant set_reminder avec la date correcte.
Comprendre le flux des messages
L'examen de l'historique de la conversation révèle comment Claude gère plusieurs outils dans une seule réponse. Le message de l'assistant contient à la fois un bloc de texte expliquant le processus et un bloc d'utilisation d'outils pour le premier calcul.

Après avoir reçu le résultat de l'outil, Claude poursuit avec un autre message contenant à la fois du texte et un autre bloc d'utilisation d'outils pour définir le rappel. Cela démontre comment Claude peut enchaîner plusieurs appels d'outils pour accomplir des tâches complexes.
Points clés à retenir
Une fois que vous avez mis en place l'infrastructure de base des outils, l'ajout de nouveaux outils suit un processus simple en trois étapes :
- Ajouter le schéma de l'outil à la liste des outils dans
run_conversation - Ajouter un cas pour le nouvel outil dans la fonction
run_tool - Implémenter la fonction d'outil réelle
Le framework gère automatiquement tout le passage de messages, le formatage des résultats d'outils et le flux de conversation. Cela facilite la création d'assistants IA sophistiqués capables d'effectuer plusieurs tâches liées en séquence.