Agenti AI con Hugging Face smolagents
Adel Nehme
VP of AI Curriculum, DataCamp



agent = CodeAgent(
tools=[document_search_tool],
model=model,
planning_interval=3,
max_steps=12
)
planning_interval=3: L'agente si ferma ogni 3 passi."Pianifica una vacanza di 2 settimane in Europa per la famiglia con siti storici per adulti e attività divertenti per bambini, restando sotto i $5000."
[Passo 1] Cerca "hotel a Parigi" -> Trovati hotel di lusso (~$4000 totali)
[Passo 2] Cerca "attrazioni per famiglie a Parigi" -> Trovati Torre Eiffel, Louvre, biglietti per parchi a tema
[Passo 3] Pausa e ripensamento (intervallo di pianificazione) Hotel troppo costosi -> budget sforato. Dovrei cercare opzioni più economiche + attività per bambini.
[Passo 4] Cerca "hotel economici per famiglie in Europa" -> Trovate opzioni di fascia media in diverse città

def callback_function(agent_step, agent):
# Fai qualcosa con il passo dell'agente o l'agente stesso
pass
agent_step: dettagli sul passo (piano, numero del passo, ecc.) agent: l'intero oggetto agente (stato + metodi)def planning_callback(agent_step, agent):
print("PIANIFICAZIONE AGENTE")
print("=" * 50)
print(agent_step.plan[:300])
if len(agent_step.plan) > 300:
print("\n... (piano troncato)")
print("=" * 50)
PIANIFICAZIONE AGENTE
==================================================
Cerca hotel economici + attività per bambini
Poi crea un itinerario bilanciato...
... (piano troncato)
==================================================
def action_callback(agent_step, agent):
step_num = agent_step.step_number
print(f"Passo {step_num}: Esecuzione azione")
if agent_step.is_final_answer:
total_tokens = agent_step.token_usage.total_tokens
print(f"Token totali usati: {total_tokens}")
Passo 2: Esecuzione azione!
Passo 3: Esecuzione azione!
Passo 4: Esecuzione azione!
Token totali usati: 4,218
from smolagents import ActionStep, PlanningStep
agent = CodeAgent(
tools=[document_search_tool],
model=model,
step_callbacks={PlanningStep: planning_callback, ActionStep: action_callback}
)
Agenti AI con Hugging Face smolagents