Bara lägg till @tool: Skriv ett eget verktyg
Du har precis börjat jobba på AgentsCafé, där gäster vid varje bord kan beställa flera drycker.
Baristerna skriver för närvarande orderkoder för hand, till exempel T5_Latte_20250812_0915, men stavfel och inkonsekvent formatering leder ofta till förväxlingar och felaktiga leveranser.
För att lösa det här ska du bygga ett enkelt verktyg kallat generate_order_id som tar ett bord-ID och ett dryckesnamn och lägger till en tidsstämpel, så att varje orderkod blir tydlig och enhetlig.
Obs: Biblioteket datetime är redan importerat.
Den här övningen är en del av kursen
AI-agenter med Hugging Face smolagents
Övningsinstruktioner
- Importera dekoratorn
toolfrån biblioteketsmolagents. - Använd dekoratorn
@toolför att registrera din funktiongenerate_order_idsom ett verktyg. - Returnera den formaterade orderkodsträngen som kombinerar bord-ID, dryckesnamn och aktuell tidsstämpel.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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 ____