Doar adaugă @tool: scrierea unui instrument personalizat
Tocmai ai început să lucrezi la AgentsCafé, unde clienții de la fiecare masă pot plasa mai multe comenzi de băuturi.
Bariștii notează în prezent codurile de comandă de mână, de exemplu T5_Latte_20250812_0915, însă greșelile de scriere și formatarea inconsistentă duc adesea la confuzii și livrări greșite.
Pentru a rezolva această problemă, vei construi un instrument simplu numit generate_order_id, care primește un ID de masă, numele băuturii și adaugă un marcaj de timp, asigurând că fiecare cod de comandă este clar și consistent.
Notă: Biblioteca datetime a fost deja importată.
Acest exercițiu face parte din cursul
Agenți AI cu Hugging Face smolagents
Instrucțiuni pentru exercițiu
- Importă decoratorul
tooldin bibliotecasmolagents. - Folosește decoratorul
@toolpentru a înregistra funcțiagenerate_order_idca instrument. - Returnează șirul de caractere formatat al ID-ului de comandă, care combină ID-ul mesei, numele băuturii și marcajul de timp curent.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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 ____