Suivre les étapes de l'agent et surveiller l'action
Vous créez un assistant smolagents pour un entraîneur de basketball qui doit analyser des rapports PDF contenant des statistiques de joueurs, des observations de dépistage et des stratégies de match.
L'entraîneur s'appuie sur l'agent pour répondre à des questions comme : « Quelles stratégies défensives devrions-nous utiliser contre leur deuxième unité? »
Mais l'entraîneur ne veut pas seulement des réponses : il souhaite aussi voir ce que l'agent fait en arrière-plan.
Dans cet exercice, vous allez écrire une fonction de rappel d'action qui s'exécute chaque fois que l'agent effectue une étape, par exemple lorsqu'il appelle un outil ou utilise le modèle. Cette fonction de rappel va :
- Afficher le nombre d'étapes,
- Et si l'agent a terminé, indiquer combien de jetons ont été utilisés.
Cela aidera l'entraîneur (et vous!) à suivre la progression de l'agent et la quantité de travail effectuée pour arriver à une conclusion.
Cette activité fait partie du cours
Agents IA avec Hugging Face smolagents
Instructions de l’exercice
- Complétez l'en-tête de la fonction en ajoutant le paramètre
agent_step. - Vérifiez si l'étape actuelle a produit une réponse finale à l'aide de l'attribut
.is_final_answerdeagent_step. - Si c'est la réponse finale, récupérez le nombre total de jetons à partir de
total_tokenset affichez-le.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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: {____}")