CommencerCommencer gratuitement

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

Afficher le cours

Instructions

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