OpenAI недавно выпустила важную новую функцию в ответ на запросы пользователей: структурированный вывод для своего API. Эта функциональность направлена на решение проблем с генерацией JSON-контента большими языковыми моделями (LLM), таких как галлюцинации или неполный парсинг.
Новая функция структурированного вывода гарантирует, что сгенерированный моделью вывод соответствует заданной JSON-схеме. Это crucial для поддержания согласованности между приложениями и было одной из самых востребованных функций среди разработчиков. Генеральный директор OpenAI Сэм Альтман отметил, что этот релиз "удовлетворяет насущную потребность многих пользователей".
Ключевые моменты о функции структурированного вывода:
- Доступна для GPT-4o-mini, GPT-4o и их дообученных версий
- Совместима с Chat Completions API, Assistant API, Batch API и визуальными входными данными
- Позволяет разработчикам ограничивать модели OpenAI для соответствия схемам данных
- Улучшает понимание моделью сложных схем данных
- Обеспечивает соблюдение схем данных, предотвращая отсутствие ключей или недопустимые значения enum
- Поддерживает пошаговую генерацию ответов
- Упрощает промпты и предоставляет четкие заявления об отказе
- Следует существующим политикам безопасности OpenAI
OpenAI утверждает, что их последняя модель GPT-4o достигла "100% идеальной" оценки при оценке структурированного вывода.
Компания признает, что черпала вдохновение из проектов с открытым исходным кодом, таких как outlines, jsonformer, instructor, guidance и библиотеки lark.
Хотя эта функция удовлетворяет значительную потребность, некоторые разработчики отмечают потенциальные ограничения:
- Медленная генерация первого токена из-за компиляции схемы
- Ограниченное принятие JSON-схем в API
- Неполная реализация рекламируемых изменений в Python SDK
Некоторые разработчики предполагают, что комбинации, такие как Instructor + Pydantic, все еще могут быть самым простым методом для достижения структурированного вывода с OpenAI и другими решениями LLM.
В целом, внедрение нативной поддержки структурированного вывода в API OpenAI представляет собой значительный шаг вперед, хотя может потребоваться дальнейшее усовершенствование перед широким внедрением в производственных средах.