JavaScript Object Notation (JSON) — это стандартный формат файлов в индустрии, который доступен для восприятия человеком и удобен для обработки машинами. Благодаря этим качествам, JSON стал популярным выбором для обмена данными.
Тем не менее, большие языковые модели (LLM) часто сталкиваются с трудностями при работе с JSON. Они могут генерировать контент, не соответствующий заданию, создавать ответы, которые лишь частично соответствуют инструкциям, или неправильно обрабатывать JSON. Это вынуждает разработчиков использовать обходные пути, такие как open-source инструменты, многократные запросы или дополнительные подсказки, чтобы добиться необходимой совместимости вывода.
Структурированные Выходы: Решение для Разработчиков
Сегодня OpenAI решила эти проблемы, представив функцию Структурированных Выходов в своем API. Эта новая функция гарантирует, что выводы, генерируемые моделями, соответствуют JSON-схемам, которые определяют содержание, структуру, типы данных и ограничения JSON-документа. OpenAI отметила, что эта функция была наиболее запрашиваемой среди разработчиков, подчеркивая ее роль в повышении согласованности приложений. Генеральный директор Сэм Альтман также подметил, что релиз произошел «по массовому запросу».
В оценках новая модель GPT-4o от OpenAI получила идеальный балл 100% с функцией Структурированных Выходов. Это объявление состоялось на фоне значительных событий внутри OpenAI, включая неожиданные отставки ключевых руководителей Джона Шульмана, Грега Брокмана и Питера Дэна, а также продолжающиеся юридические проблемы Илона Маска с компанией, которые были охарактеризованы как «шекспировское» предательство ее миссии в области ИИ.
Упрощение Соответствия Схемам
JSON является гибким и широко используемым форматом для хранения и обмена данными, совместимым с различными языками программирования. Ранее OpenAI представила режим JSON для своих моделей на прошлогоднем DevDay в ответ на запросы разработчиков.
Структурированные Выходы позволяют разработчикам строго ограничивать модели OpenAI придерживаться определенных схем. OpenAI заявила, что эта функция улучшает понимание моделей сложных схем.
«Структурированные Выходы представляют собой эволюцию режима JSON», объясняет компания в своем блоге. «Хотя оба обеспечивают создание корректного JSON, только Структурированные Выходы гарантируют соблюдение схемы». Это усовершенствование снимает опасения по поводу отсутствующих обязательных ключей или недействительных значений перечислений — важных аспектов, которые упрощают сопровождение кода.
Разработчики могут использовать Структурированные Выходы для пошагового управления выводами, исключая необходимость валидации или повторной отправки неправильно отформатированных ответов. Эта функция позволяет делать более простые запросы и включает явные отказы на небезопасные запросы, сохраняя приверженность OpenAI вопросам безопасности.
Доступность и Совместимость
Структурированные Выходы доступны на моделях GPT-4o-mini, GPT-4o и их дообученных версиях. Их можно использовать с Chat Completions API, Assistants API и Batch API, а также поддерживают ввод визуальных данных.
OpenAI признает, что эта новая функция вдохновлена отличной работой сообщества open-source, особенно такими библиотеками, как outlines, jsonformer, instructor, guidance и lark.