Chargement

Lorsque vous créez des applications d'IA avec Claude, vous aurez souvent besoin de lui donner accès à des informations en temps réel ou à la capacité d'effectuer des actions. C'est là qu'interviennent les fonctions d'outils - ce sont des fonctions Python que Claude peut appeler lorsqu'il a besoin de données supplémentaires pour aider les utilisateurs.

L'image ci-dessus montre trois outils essentiels que nous allons implémenter : obtenir la date/heure actuelle, ajouter une durée aux dates, et définir des rappels. Commençons par le premier.

Qu'est-ce qu'une fonction d'outil ?

Une fonction d'outil est une simple fonction Python qui s'exécute automatiquement lorsque Claude détermine qu'il a besoin d'informations supplémentaires pour accomplir une tâche. Par exemple, si un utilisateur demande « Quelle heure est-il ? », Claude appellerait votre outil de date/heure pour obtenir l'heure actuelle.

Voici un exemple de fonction d'outil météo. Remarquez comment elle valide les entrées et fournit des messages d'erreur clairs - ce sont des bonnes pratiques essentielles que nous allons suivre.

Bonnes pratiques pour les fonctions d'outils

Lorsque vous écrivez des fonctions d'outils, gardez ces directives à l'esprit :

  • Utilisez des noms descriptifs : Le nom de votre fonction et les noms de vos paramètres doivent clairement indiquer leur objectif
  • Validez les entrées : Vérifiez toujours que les paramètres requis sont présents et valides
  • Fournissez des messages d'erreur significatifs : Si Claude obtient une erreur, il pourrait essayer d'appeler votre fonction à nouveau avec des paramètres corrigés

La gestion des erreurs est particulièrement importante car Claude peut apprendre de ses échecs. Si vous renvoyez un message d'erreur clair comme « L'emplacement ne peut pas être vide », Claude pourrait retenter l'appel de fonction avec une valeur d'emplacement appropriée.

Créer votre première fonction d'outil

Créons une fonction pour obtenir la date et l'heure actuelles. Cette fonction acceptera une chaîne de format pour contrôler l'apparence de la date :

python
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
    if not date_format:
        raise ValueError("date_format cannot be empty")
    return datetime.now().strftime(date_format)

La chaîne de format par défaut "%Y-%m-%d %H:%M:%S" produit une sortie comme « 2024-03-15 14:30:45 ». Vous pouvez personnaliser cela en passant différentes chaînes de format :

python
# Récupérer uniquement l'heure
get_current_datetime("%H:%M")  # Returns "14:30"

# Obtenir un format de date différent
get_current_datetime("%B %d, %Y")  # Returns "March 15, 2024"

Validation des entrées

La vérification de validation if not date_format: garantit que nous n'essayons pas de formater une date avec une chaîne vide. Bien que Claude fasse rarement cette erreur, fournir des messages d'erreur clairs aide l'IA à comprendre ce qui s'est mal passé et comment le corriger.

Lorsque Claude rencontre une erreur, il voit le message d'erreur exact. Cette boucle de rétroaction permet à Claude d'ajuster son approche et de réessayer avec des paramètres corrigés.

Prochaines étapes

Cette fonction d'outil n'est que la première étape. Ensuite, vous devrez créer un schéma JSON qui décrit cette fonction à Claude, puis l'intégrer dans votre système de chat. La fonction elle-même est du Python simple - la complexité réside dans la connexion appropriée de celle-ci au système d'appel d'outils de Claude.