Разбираем ответ модели с вызовом инструмента

Урок 33 из 89 курса «Claude в Amazon Bedrock»: официальный курс Anthropic Academy (Антропик) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Кадр из видеоурока

О чём урок

Когда Claude, работая в Amazon Bedrock, решает использовать один из предоставленных ему инструментов, он возвращает особый тип ответа. Этот ответ требует внимательной обработки, чтобы ваше приложение могло корректно выполнить запрошенное действие и продолжить диалог. Понимание формата этих сообщений и правильное управление историей беседы критически важно для создания надежных приложений, использующих возможности Claude по работе с инструментами. Прежде чем углубляться в структуру ответов, полезно понять, как вы можете влиять на решение Claude использовать инструменты. Эти инструменты должны быть предварительно определены вами с использованием JSON Schema, которая описывает их имена, параметры и ожидаемые типы данных. Параметр tool_choice в вашем запросе к API позволяет вам управлять этим поведением, предлагая три основных варианта: Claude принимает решение самостоятельно (поведение по умолчанию): Модель анализирует запрос пользователя и определяет, требуется ли использование инструмента. Claude должен использовать инструмент: Вы указываете, что Claude обязан использовать один из доступных инструментов, но он сам выбирает, какой именно. Принудительное использование конкретного инструмента: Вы можете явно указать Claude использовать определенный инструмент по его имени. Этот вариант особенно полезен для тестирования, когда вы хотите убедиться, что Claude вызывает конкретную функцию. Когда Claude решает использовать инструмент, он возвращает сообщение ассистента, которое отличается от обычного текстового ответа. Вместо простого текста, ответ содержит несколько частей (multi-part message). Такая структура позволяет Claude быть прозрачным с пользователем, одновременно предоставляя приложению всю необходимую информацию для выполнения действия. Этот ответ обычно состоит из двух основных компонентов: Человекочитаемое объяснение: Это текстовая часть, которая объясняет пользователю, что Claude собирается сделать. Например: "Я могу помочь вам найти текущее время. Позвольте мне получить эту информацию для вас." Структурированные данные ToolUse: Это машиночитаемая часть, которая указывает, какой инструмент нужно запустить и с какими аргументами. Примерно так это может выглядеть в ответе: Часть ToolUse является ключевой для взаимодействия с инструментами.

План урока

  1. Обработка ответов Claude при использовании инструментов
  2. Контроль выбора инструмента
  3. Структура многокомпонентного сообщения
  4. Разбор части ToolUse
  5. Поток диалога с использованием инструментов
  6. Обработка сообщений и проверка причины остановки
  7. Заключение

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

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