Hugging Face smolagents ile AI Agent'ları
Adel Nehme
VP of AI Curriculum, DataCamp



agent = CodeAgent(
tools=[document_search_tool],
model=model,
planning_interval=3,
max_steps=12
)
planning_interval=3: Ajan her 3 adımda bir durur."Yetişkinler için tarihi yerler ve çocuklar için eğlenceli aktivitelerle dolu, 5000 doların altında bir bütçeyle Avrupa'da 2 haftalık bir aile tatili planlayın."
[Adım 1] "Paris otelleri" ara -> Lüks oteller bulundu (~$4000 toplam)
[Adım 2] "Aileler için Paris atraksiyonları" ara -> Eyfel Kulesi, Louvre, tema parkı biletleri bulundu
[Adım 3] Dur ve yeniden düşün (planlama aralığı) Oteller çok pahalı -> bütçe aşıldı. Daha ucuz seçenekler + çocuk dostu aktiviteler aramalıyım.
[Adım 4] "Avrupa'da uygun fiyatlı aile otelleri" ara -> Birçok şehirde orta sınıf seçenekler bulundu

def callback_function(agent_step, agent):
# Ajan adımı veya ajanla bir şeyler yap
pass
agent_step: adım hakkında detaylar (plan, adım numarası, vb.) agent: tam ajan nesnesi (durum + yöntemler)def planning_callback(agent_step, agent):
print("AJAN PLANLAMA")
print("=" * 50)
print(agent_step.plan[:300])
if len(agent_step.plan) > 300:
print("\n... (plan kısaltıldı)")
print("=" * 50)
AJAN PLANLAMA
==================================================
Uygun fiyatlı oteller + çocuk aktiviteleri ara
Sonra dengeli bir plan oluştur...
... (plan kısaltıldı)
==================================================
def action_callback(agent_step, agent):
step_num = agent_step.step_number
print(f"Adım {step_num}: Eylem alınıyor")
if agent_step.is_final_answer:
total_tokens = agent_step.token_usage.total_tokens
print(f"Kullanılan toplam token: {total_tokens}")
Adım 2: Eylem alınıyor!
Adım 3: Eylem alınıyor!
Adım 4: Eylem alınıyor!
Kullanılan toplam token: 4,218
from smolagents import ActionStep, PlanningStep
agent = CodeAgent(
tools=[document_search_tool],
model=model,
step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Hugging Face smolagents ile AI Agent'ları