Stačí přidat @tool: tvoříme vlastní nástroj
Právě jsi nastoupil/a do AgentsCafé, kde si hosté u každého stolu mohou objednat několik nápojů najednou.
Baristé zatím zapisují kódy objednávek ručně – například T5_Latte_20250812_0915 – jenže překlepy a nejednotné formátování vedou k záměnám a chybným výdejům.
Aby se tomu předešlo, vytvoříš jednoduchý nástroj generate_order_id, který vezme ID stolu a název nápoje a doplní časové razítko – každý kód objednávky tak bude přehledný a jednotný.
Poznámka: Knihovna datetime je už naimportovaná.
Toto cvičení je součástí kurzu
AI Agents with Hugging Face smolagents
Pokyny k cvičení
- Importuj dekorátor
toolz knihovnysmolagents. - Pomocí dekorátoru
@toolzaregistruj funkcigenerate_order_idjako nástroj. - Vrať formátovaný řetězec s ID objednávky, který kombinuje ID stolu, název nápoje a aktuální časové razítko.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 ____