Ajoutez simplement @tool : créer un outil personnalisé
Vous venez d'entrer en poste chez AgentsCafé, où les clients à chaque table peuvent passer plusieurs commandes de boissons.
En ce moment, les baristas écrivent à la main des codes de commande comme T5_Latte_20250812_0915, mais les fautes de frappe et les formats incohérents causent souvent des confusions et de mauvaises livraisons.
Pour corriger la situation, vous allez créer un petit outil appelé generate_order_id qui prend l'identifiant de table, le nom de la boisson et ajoute un horodatage, afin que chaque code de commande soit clair et uniforme.
Remarque : La bibliothèque datetime a déjà été importée.
Cette activité fait partie du cours
Agents IA avec Hugging Face smolagents
Instructions de l’exercice
- Importez le décorateur
toolde la bibliothèquesmolagents. - Utilisez le décorateur
@toolpour enregistrer votre fonctiongenerate_order_idcomme outil. - Retournez la chaîne d'identifiant de commande formatée qui combine l'identifiant de table, le nom de la boisson et l'horodatage actuel.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import the tool decorator
from smolagents import ____
# Create a tool with the @tool decorator
____
def generate_order_id(table_id: str, drink_name: str) -> str:
"""
Generates a unique order ID for a café order.
Args:
table_id: The table's identifier (e.g. "T5")
drink_name: Name of the drink (e.g. "Latte")
Returns:
A string in the format "{table_id}_{drink_name}_{YYYYMMDD_HHMM}"
"""
timestamp = datetime.now().strftime("%Y%m%d_%H%M")
order_id = f"{table_id}_{drink_name}_{timestamp}"
# Return the order ID
return ____