开始使用免费开始使用

只需添加 @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 ____
编辑并运行代码