开始使用免费开始使用

跟踪 Agent 步骤,监控动作

您正为一位篮球教练构建一个 smolagents 助手,用于分析包含球员数据、球探见解和比赛策略的 PDF 报告。

教练依赖该代理来回答类似这样的问题:"对方第二阵容我们该采用哪些防守策略?"

不过,教练不只想要答案——他们还希望了解代理在幕后做了什么。

在本练习中,您将编写一个动作回调,每当代理执行一步(例如调用工具或使用模型)时就会运行。该回调将:

  • 显示当前已执行的步骤数,
  • 如果代理已结束,还会显示共使用了多少个 token。

这将帮助教练(也包括您!)监控代理的推进情况,以及它为得出结论所做的工作量。

本练习是课程的一部分

使用 Hugging Face smolagents 的 AI Agents

查看课程

练习说明

  • 补全函数签名,添加 agent_step 参数。
  • 使用 agent_step.is_final_answer 属性检查当前步骤是否已产生最终答案。
  • 若为最终答案,从 total_tokens 获取 token 总数并打印出来。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# 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: {____}")
编辑并运行代码