Traccia i passaggi dell'agente, monitora l'azione
Stai creando un assistente smolagents per un allenatore di basket che ha bisogno di analizzare report in PDF con statistiche dei giocatori, osservazioni di scouting e strategie di gioco.
L’allenatore si affida all’agente per rispondere a domande come: "Quali strategie difensive dovremmo adottare contro la loro seconda unità?"
Ma l’allenatore non vuole solo risposte: vuole anche capire cosa fa l’agente dietro le quinte.
In questo esercizio, scriverai una callback di azione che viene eseguita ogni volta che l’agente compie un passo, ad esempio quando chiama uno strumento o usa il modello. Questa callback dovrà:
- Mostrare il numero di passaggi,
- E, se l’agente ha terminato, indicare quanti token sono stati usati.
Questo aiuterà l’allenatore (e te!) a monitorare come procede l’agente e quanto lavoro sta facendo per arrivare a una conclusione.
Questo esercizio fa parte del corso
Agenti AI con Hugging Face smolagents
Istruzioni dell'esercizio
- Completa la firma della funzione aggiungendo il parametro
agent_step. - Verifica se il passaggio corrente ha prodotto una risposta finale usando l’attributo
.is_final_answerdiagent_step. - Se è la risposta finale, recupera il numero totale di token da
total_tokense stampalo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define an action callback that accepts the agent step and the agent
def action_callback(____, agent):
step_num = agent_step.step_number
print(f"Step {step_num}: Analyzing basketball data!")
# Check if the agent step includes token usage
if agent_step.____:
total_tokens = agent_step.token_usage.total_tokens
# Print how many tokens were used
print(f"Analysis complete! Total tokens used: {____}")