О чём урок
Добавьте потоки подтверждения к вызовам инструментов, чтобы пользователи могли просматривать и одобрять или отклонять действия до их выполнения. Статус 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. Локальные функции с подтверждением
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.