Voeg gewoon @tool toe: een eigen tool schrijven
Je bent net begonnen bij AgentsCafé, waar klanten per tafel meerdere drankjes kunnen bestellen.
Barista’s schrijven momenteel bestellingscodes met de hand, zoals T5_Latte_20250812_0915, maar typefouten en inconsistente opmaak zorgen vaak voor verwarring en verkeerde bezorgingen.
Om dit op te lossen bouw je een eenvoudige tool, generate_order_id, die een tafel-ID en dranknaam neemt en er een tijdstempel aan toevoegt, zodat elke bestellingscode duidelijk en consistent is.
Let op: de datetime-bibliotheek is al geïmporteerd.
Deze oefening maakt deel uit van de cursus
AI-agents met Hugging Face smolagents
Oefeninstructies
- Importeer de
tool-decorator uit desmolagents-bibliotheek. - Gebruik de
@tool-decorator om je functiegenerate_order_idte registreren als tool. - Retourneer de geformatteerde order-ID-tekenreeks die de tafel-ID, dranknaam en huidige tijdstempel combineert.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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 ____