CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez le décorateur tool de la bibliothèque smolagents.
  • Utilisez le décorateur @tool pour enregistrer votre fonction generate_order_id comme 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 ____
Modifier et exécuter le code