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.

Que sont les fonctions d'outils ?

Une fonction d'outil est une simple fonction Python qui s'exécute automatiquement lorsque Claude décide qu'il a besoin d'informations supplémentaires pour aider un utilisateur. Par exemple, si quelqu'un 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 importantes.

Bonnes pratiques pour les fonctions d'outils

Lors de l'écriture de fonctions d'outils, suivez ces directives :

  • Utilisez des noms descriptifs : Le nom de votre fonction et les noms de paramètres doivent clairement indiquer leur objectif
  • Validez les entrées : Vérifiez que les paramètres requis ne sont pas vides ou invalides, et déclenchez des erreurs lorsque c'est le cas
  • Fournissez des messages d'erreur significatifs : Claude peut voir les messages d'erreur et pourrait retenter l'appel de fonction avec des paramètres corrigés

La validation est particulièrement importante car Claude apprend des erreurs. Si vous déclenchez une erreur claire comme « L'emplacement ne peut pas être vide », Claude pourrait essayer d'appeler à nouveau la 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 un paramètre de format de date afin que Claude puisse demander l'heure dans différents formats :

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)

Cette fonction utilise le module datetime de Python pour obtenir l'heure actuelle et la formater selon la chaîne de format fournie. Le format par défaut nous donne année-mois-jour heure:minute:seconde.

Vous pouvez la tester avec différents formats :

python
# Format par défaut : "2024-01-15 14:30:25"
get_current_datetime()

# Juste l'heure et la minute : "14:30"
get_current_datetime("%H:%M")

La vérification de validation garantit que Claude ne peut pas passer une chaîne vide pour le format de date. Bien que cette erreur spécifique soit peu probable, elle démontre le modèle de validation des entrées et de fourniture de messages d'erreur utiles dont Claude peut apprendre.

Prochaines étapes

Créer la fonction n'est que la première étape. Ensuite, vous devrez écrire un schéma JSON qui décrit la fonction à Claude, puis l'intégrer dans votre système de chat. Cette approche de fonction d'outil donne à Claude des capacités puissantes tout en gardant votre code organisé et maintenable.