CommencezCommencez gratuitement

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

Voir le cours

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_answer de agent_step.
  • Si c'est la réponse finale, récupérez le nombre total de jetons à partir de total_tokens et 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: {____}")
Modifier et exécuter le code