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
Hướng dẫn bài tập
- Import decorator
tooltừ thư việnsmolagents. - Dùng decorator
@toolđể đăng ký hàmgenerate_order_idcủ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 ____