Zacznij terazZacznij za darmo

Wystarczy @tool: tworzenie własnego narzędzia

Właśnie zacząłeś pracę w AgentsCafé, gdzie klienci przy każdym stoliku mogą składać wiele zamówień na napoje.

Bariści ręcznie zapisują kody zamówień w formacie T5_Latte_20250812_0915, ale literówki i niespójne formatowanie często prowadzą do pomyłek i błędnych dostaw.

Aby to naprawić, zbudujesz proste narzędzie o nazwie generate_order_id, które przyjmuje identyfikator stolika, nazwę napoju i dołącza znacznik czasu – dzięki temu każdy kod zamówienia będzie czytelny i spójny.

Uwaga: biblioteka datetime została już zaimportowana.

To ćwiczenie jest częścią kursu

Agenty AI z Hugging Face smolagents

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj dekorator tool z biblioteki smolagents.
  • Użyj dekoratora @tool, aby zarejestrować funkcję generate_order_id jako narzędzie.
  • Zwróć sformatowany ciąg znaków z identyfikatorem zamówienia, łączący identyfikator stolika, nazwę napoju i aktualny znacznik czasu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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 ____
Edytuj i uruchom kod