Подтверждение действий инструментов человеком

Урок 38 из 148 курса «Mistral AI Cookbook»: официальный курс Mistral AI Cookbook (Мистраль) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Добавьте потоки подтверждения к вызовам инструментов, чтобы пользователи могли просматривать и одобрять или отклонять действия до их выполнения. Статус API: В этом руководстве используется client.beta.conversations. Это бета-конечная точка, и она может измениться. Для выполнения этого руководства вам понадобится API key Mistral. В Studio перейдите в раздел API keys и создайте новый API key. Создайте файл .env в корне вашего проекта и добавьте ваш Mistral API key: Два потока отсрочки доступны с циклом RunContext.run_async: На стороне клиента: локальные MCP клиенты и функции, зарегистрированные через register_mcp_client или register_func На стороне сервера: удаленные Mistral коннекторы (gmail, ...) Цикл run_async отвечает за прерывание себя при обнаружении отложенного вызова инструмента; отложенные вызовы инструментов могут проявляться как локальными функциями, так и событиями на стороне сервера (через FunctionCallEntry с confirmation_status: "pending"). Для настройки поведения, требующего подтверждения, мы используем следующую структуру объявления инструмента: Приведенные ниже рецепты используют цикл while True для перехвата DeferredToolCallsException, запроса подтверждения и возобновления разговора в одном скрипте. Это удобно для демонстраций и CLI инструментов. В production отсрочка и возобновление обычно происходят в разных контекстах — например, ваш бэкенд перехватывает отсрочку, отправляет ожидающие вызовы инструментов на фронтенд для подтверждения пользователем, а затем возобновляет разговор, когда фронтенд отвечает. Рецепт 3 (Сериализация и возобновление) демонстрирует этот шаблон. Когда использовать: У вас есть локальные Python функции, которые вы хотите, чтобы модель могла выполнять напрямую без какой-либо дополнительной настройки. Некоторые из них безопасны (например, запросы только для чтения) и должны автоматически выполняться, поддерживая агентный цикл. Некоторые требуют подтверждения человеком (например, операции записи, бронирование, ...), и требуют одобрения перед выполнением. Как это работает: Функции, зарегистрированные с requires_confirmation=False, автоматически выполняются, когда модель их вызывает. Функции, зарегистрированные с requires_confirmation=True, приостанавливают выполнение и вместо этого вызывают DeferredToolCallsException. Исключение содержит ожидающие вызовы инструментов.

План урока

  1. Предварительные требования
  2. Установка
  3. Необходимые переменные окружения
  4. Концепции
  5. Конфигурация
  6. Шаблон цикла
  7. Рецепты
  8. 1. Локальные функции с подтверждением

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды