НачатьНачать бесплатно

Отслеживание шагов агента и мониторинг действий

Вы создаёте ассистента на основе smolagents для тренера по баскетболу, которому нужна помощь в анализе PDF-отчётов с игровой статистикой, результатами скаутинга и игровыми стратегиями.

Тренер рассчитывает на агента при ответах на такие вопросы, как: «Какие защитные стратегии стоит применить против второго состава соперника?»

Однако тренеру нужны не только ответы — он хочет понимать, что агент делает «под капотом».

В этом упражнении вы напишете callback-функцию действия, которая запускается каждый раз, когда агент выполняет шаг: вызывает инструмент или обращается к модели. Этот callback будет:

  • отображать номер текущего шага;
  • и, если агент завершил работу, показывать количество использованных токенов.

Это поможет тренеру (и вам!) следить за ходом работы агента и оценивать, сколько усилий он затрачивает для получения ответа.

Это упражнение является частью курса

ИИ-агенты с Hugging Face smolagents

Посмотреть курс

Инструкции к упражнению

  • Завершите сигнатуру функции, добавив параметр agent_step.
  • Проверьте, является ли текущий шаг финальным ответом, используя атрибут .is_final_answer объекта agent_step.
  • Если это финальный ответ, получите общее количество токенов из total_tokens и выведите его.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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: {____}")
Редактировать и запускать код