Bắt đầu ngayBắt đầu miễn phí

Chỉ cần thêm @tool: Viết một Tool tùy chỉnh

Bạn vừa bắt đầu làm việc tại AgentsCafé, nơi khách ở mỗi bàn có thể gọi nhiều loại đồ uống.

Hiện tại barista đang viết tay mã đơn như T5_Latte_20250812_0915, nhưng lỗi gõ và cách định dạng không nhất quán thường dẫn đến nhầm lẫn và giao sai đồ.

Để khắc phục, bạn sẽ xây dựng một tool đơn giản tên generate_order_id nhận vào ID bàn, tên đồ uống và thêm dấu thời gian (timestamp), đảm bảo mỗi mã đơn đều rõ ràng và thống nhất.

Lưu ý: Thư viện datetime đã được import sẵn.

Bài tập này là một phần của khóa học

AI Agents với Hugging Face smolagents

Xem khóa học

Hướng dẫn bài tập

  • Import decorator tool từ thư viện smolagents.
  • Dùng decorator @tool để đăng ký hàm generate_order_id của bạn thành một tool.
  • Trả về chuỗi mã đơn hàng đã định dạng, kết hợp ID bàn, tên đồ uống và dấu thời gian hiện tại.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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 ____
Chỉnh sửa và Chạy Mã