只需添加 @tool:编写自定义工具
您刚加入一家 AgentsCafé 工作,每张桌子的顾客都可能下多杯饮品的订单。
目前咖啡师手写类似 T5_Latte_20250812_0915 的订单编码,但由于笔误和不一致的格式,常常造成混淆和误送。
为解决这个问题,您将构建一个名为 generate_order_id 的简单工具。它接收桌号、饮品名,并追加时间戳,从而确保每个订单编码清晰且一致。
注意:已导入 datetime 库。
本练习是课程的一部分
使用 Hugging Face smolagents 的 AI Agents
练习说明
- 从
smolagents库导入tool装饰器。 - 使用
@tool装饰器将generate_order_id函数注册为工具。 - 返回格式化后的订单 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 ____