Просто добавьте @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 ____