Ajoutez simplement @tool : créer un outil personnalisé
Vous venez de commencer à travailler chez AgentsCafé, où les clients à chaque table peuvent passer plusieurs commandes de boissons.
Pour l’instant, les baristas écrivent à la main des codes de commande comme T5_Latte_20250812_0915, mais les fautes de frappe et les formats incohérents entraînent souvent des confusions et de mauvaises livraisons.
Pour y remédier, vous allez créer un petit outil appelé generate_order_id qui prend un identifiant de table, le nom de la boisson et ajoute un horodatage, afin de garantir des codes clairs et cohérents pour chaque commande.
Remarque : la bibliothèque datetime a déjà été importée.
Cet exercice fait partie du cours
Agents IA avec Hugging Face smolagents
Instructions
- Importez le décorateur
tooldepuis la bibliothèquesmolagents. - Utilisez le décorateur
@toolpour enregistrer votre fonctiongenerate_order_iden tant qu’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 cet exemple de code.
# 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 ____