IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Importa il decorator tool dalla libreria smolagents.
  • Usa il decorator @tool per registrare la tua funzione generate_order_id come 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 ____
Modifica ed esegui il codice