Basta aggiungere @tool: creare uno strumento personalizzato
Hai appena iniziato a lavorare all'AgentsCafé, dove i clienti di ogni tavolo possono fare più ordini di bevande.
Al momento i baristi scrivono a mano i codici degli ordini, ad esempio T5_Latte_20250812_0915, ma refusi e formattazioni incoerenti spesso causano confusione e consegne sbagliate.
Per risolvere il problema, costruirai un semplice strumento chiamato generate_order_id che prende un ID tavolo, il nome della bevanda e aggiunge un timestamp, assicurando che ogni codice ordine sia chiaro e coerente.
Nota: la libreria datetime è già stata importata.
Questo esercizio fa parte del corso
Agenti AI con Hugging Face smolagents
Istruzioni dell'esercizio
- Importa il decorator
tooldalla libreriasmolagents. - Usa il decorator
@toolper registrare la tua funzionegenerate_order_idcome strumento. - Restituisci la stringa dell'ID ordine formattata che combina l'ID tavolo, il nome della bevanda e il timestamp corrente.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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 ____