Sadece @tool Ekle: Özel Bir Araç Yazma
Her masadaki müşterilerin birden fazla içecek siparişi verebildiği AgentsCafé'de yeni işe başladın.
Baristalar şu anda T5_Latte_20250812_0915 gibi sipariş kodlarını elle yazıyor, fakat yazım hataları ve tutarsız biçimlendirme karışıklıklara ve yanlış teslimatlara yol açıyor.
Bunu düzeltmek için, masa kimliğini, içecek adını alan ve bir zaman damgası ekleyen, her sipariş kodunun net ve tutarlı olmasını sağlayan generate_order_id adlı basit bir araç geliştireceksin.
Not: datetime kütüphanesi zaten içe aktarılmıştır.
Bu egzersiz, kursun bir parçasıdır
Hugging Face smolagents ile AI Agent'ları
Egzersiz talimatları
smolagentskütüphanesindentooldekoratörünü içe aktar.generate_order_idfonksiyonunu bir araç olarak kaydetmek için@tooldekoratörünü kullan.- Masa kimliği, içecek adı ve mevcut zaman damgasını birleştiren biçimlendirilmiş sipariş kimliği dizgesini döndür.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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 ____