НачатьНачать бесплатно

Просто добавьте @tool: создание пользовательского инструмента

Вы только что начали работать в AgentsCafé, где посетители за каждым столиком могут делать несколько заказов напитков.

Баристы пока записывают коды заказов вручную — например, T5_Latte_20250812_0915, — однако опечатки и непоследовательное форматирование нередко приводят к путанице и ошибкам при доставке.

Чтобы решить эту проблему, вы создадите простой инструмент generate_order_id, который принимает идентификатор столика и название напитка, а затем добавляет метку времени — так каждый код заказа станет понятным и единообразным.

Примечание: библиотека datetime уже импортирована.

Это упражнение является частью курса

ИИ-агенты с Hugging Face smolagents

Посмотреть курс

Инструкции к упражнению

  • Импортируйте декоратор tool из библиотеки smolagents.
  • Используйте декоратор @tool, чтобы зарегистрировать функцию generate_order_id как инструмент.
  • Верните отформатированную строку идентификатора заказа, в которой объединены идентификатор столика, название напитка и текущая метка времени.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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 ____
Редактировать и запускать код