Cukup Tambahkan @tool: Menulis Tool Kustom
Anda baru saja mulai bekerja di AgentsCafé, tempat pelanggan di setiap meja dapat memesan beberapa minuman.
Saat ini, barista menulis kode pesanan secara manual seperti T5_Latte_20250812_0915, tetapi salah ketik dan format yang tidak konsisten sering menyebabkan kekeliruan dan pengantaran yang salah.
Untuk mengatasinya, Anda akan membuat tool sederhana bernama generate_order_id yang menerima ID meja, nama minuman, dan menambahkan stempel waktu (timestamp), sehingga setiap kode pesanan jelas dan konsisten.
Catatan: Pustaka datetime sudah diimpor.
Latihan ini adalah bagian dari kursus
Agen AI dengan Hugging Face smolagents
Petunjuk latihan
- Impor dekorator
tooldari pustakasmolagents. - Gunakan dekorator
@tooluntuk mendaftarkan fungsigenerate_order_idAnda sebagai sebuah tool. - Kembalikan string ID pesanan terformat yang menggabungkan ID meja, nama minuman, dan stempel waktu saat ini.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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 ____