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
<Kurs>AI-Agents mit Hugging Face smolagents</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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 ____