Einfach @tool hinzufügen: Ein eigenes Tool schreiben
Du hast gerade bei einem AgentsCafé angefangen, wo Gäste an jedem Tisch mehrere Getränke bestellen können.
Baristas schreiben derzeit Bestellcodes per Hand wie T5_Latte_20250812_0915, aber Tippfehler und uneinheitliche Formate führen oft zu Verwechslungen und falschen Auslieferungen.
Um das zu beheben, baust du ein einfaches Tool namens generate_order_id, das eine Tisch-ID und den Getränkenamen entgegennimmt und einen Zeitstempel anhängt. So ist jeder Bestellcode klar und einheitlich.
Hinweis: Die Bibliothek datetime wurde bereits importiert.
Diese Übung ist Teil des Kurses
AI-Agents mit Hugging Face smolagents
Anleitung zur Übung
- Importiere den Decorator
toolaus der Bibliotheksmolagents. - Verwende den Decorator
@tool, um deine Funktiongenerate_order_idals Tool zu registrieren. - Gib den formatierten Bestellcode als String zurück, der Tisch-ID, Getränkenamen und den aktuellen Zeitstempel kombiniert.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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 ____