Урок из полного доступа, первые уроки курса бесплатно Официальный курс Anthropic Academy на русском
Урок 03 · Текст · ~5 мин

Как получить от модели строгий JSON

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

Цели урока

  • Понять использование инструментов для принудительного получения структурированного ответа
  • Использовать этот «трюк» для генерации структурированного JSON

О чём урок

Один из наиболее интересных способов использования инструментов — это принуждение Claude отвечать структурированным содержимым, таким как JSON. Существует множество ситуаций, в которых мы можем захотеть получить стандартизированный JSON-ответ от Claude: извлечение сущностей, суммирование данных, анализ настроений и т.д.

Один из способов сделать это — просто попросить Claude ответить в формате JSON, но это может потребовать дополнительной работы для фактического извлечения JSON из большой строки, которую мы получаем от Claude, или для обеспечения того, чтобы JSON соответствовал точному формату, который нам нужен.

Хорошая новость заключается в том, что всякий раз, когда Claude хочет использовать инструмент, он уже отвечает, используя идеально структурированный формат, который мы указали ему при определении инструмента.

В предыдущем уроке мы дали Claude инструмент-калькулятор. Когда он хотел использовать этот инструмент, он отвечал таким содержимым:

Это подозрительно похоже на JSON!

Если мы хотим, чтобы Claude генерировал структурированный JSON, мы можем использовать это в своих интересах. Все, что нам нужно сделать, это определить инструмент, который описывает конкретную структуру JSON, а затем рассказать о нем Claude. Вот и все. Claude ответит, думая, что он «вызывает инструмент», но на самом деле нас интересует только структурированный ответ, который он нам дает.

Чем это отличается от того, что мы делали в предыдущем уроке? Вот диаграмма рабочего процесса из прошлого урока:

В прошлом уроке мы предоставили Claude доступ к инструменту, Claude захотел его вызвать, а затем мы фактически вызвали соответствующую функцию инструмента.

В этом уроке мы собираемся «обмануть» Claude, рассказав ему о конкретном инструменте, но нам не потребуется фактически вызывать соответствующую функцию инструмента. Мы используем инструмент как способ принудительного получения определенной структуры ответа, как показано на этой диаграмме:

Начнем с простого примера. Предположим, мы хотим, чтобы Claude анализировал настроения в тексте и отвечал JSON-объектом, который соответствует следующей форме:

Все, что нам нужно сделать, это определить инструмент, который фиксирует эту форму с помощью JSON Schema. Вот потенциальная реализация:

План урока

  1. Принудительное использование JSON с помощью инструментов
  2. Анализ настроений
  3. Принудительное использование инструмента с помощью tool_choice
  4. Пример извлечения сущностей
  5. Пример сводки из Википедии с более сложными данными
  6. Упражнение

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

Откройте полный доступ

Вы прошли бесплатные уроки. Выберите тариф, чтобы продолжить обучение.

Курсы Anthropic 1 490 ₽ Разовый платёж, навсегда
  • Все курсы от Anthropic (34 шт.)
  • Именной сертификат по каждому пройденному курсу
Оплатить
Полный доступ 4 900 ₽ Разовый платёж, навсегда
  • Все 77 курсов от 11 AI-провайдеров
  • Библиотека промптов и новые курсы
Оплатить

Безопасная оплата через Robokassa: СБП, карты, электронные кошельки. Доступ откроется в этом браузере и придёт письмом. Уже оплатили? Восстановить доступ

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