Знакомство со Structured Outputs

Урок 64 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Structured Outputs — это новая возможность в Chat Completions API и Assistants API, которая гарантирует, что модель всегда будет генерировать ответы, соответствующие предоставленной вами JSON Schema. В этом руководстве мы проиллюстрируем эту возможность на нескольких примерах. Structured Outputs можно включить, установив параметр strict: true в вызове API либо с определённым форматом ответа, либо с определениями функций. Ранее параметр response_format был доступен только для указания того, что модель должна возвращать валидный JSON. В дополнение к этому мы представляем новый способ указания, какой JSON schema следовать. Вызов функций остаётся аналогичным, но с новым параметром strict: true теперь вы можете гарантировать строгое соблюдение schema, предоставленной для функций. Structured Outputs могут быть полезны во многих отношениях, поскольку вы можете полагаться на то, что выходные данные будут соответствовать ограниченной schema. В отличие от JSON mode, Structured Outputs ограничивает форму JSON, а не только его валидность. Это может обеспечить более надёжные рабочие процессы в приложениях производственного уровня, независимо от того, полагаетесь ли вы на вызовы функций или ожидаете, что выходные данные будут следовать заранее определённой структуре. Примеры вариантов использования включают: Получение структурированных ответов для их отображения определённым образом в UI (пример 1 в этом руководстве) Заполнение базы данных извлечённым содержимым из документов (пример 2 в этом руководстве) Извлечение сущностей из пользовательского ввода для вызова инструментов с определёнными параметрами (пример 3 в этом руководстве) В более общем смысле, всё, что требует получения данных, выполнения действий или основывается на сложных рабочих процессах, может выиграть от использования Structured Outputs. В этом примере мы хотим создать инструмент для обучения математике, который выводит шаги решения математической задачи в виде массива структурированных объектов. Это может быть полезно в приложении, где каждый шаг должен отображаться отдельно, чтобы пользователь мог продвигаться по решению в своём собственном темпе.

План урока

  1. Использование формата ответа
  2. Использование вызова функций
  3. Примеры
  4. Настройка
  5. Пример 1: Математический репетитор
  6. Использование вспомогательной функции parse SDK
  7. Отказ
  8. Пример 2: Суммирование текста

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

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