Проблемы со структурированным выводом в Ollama GPT-OSS

Не очень приятно.

Содержимое страницы

Модели GPT-OSS от Ollama регулярно сталкиваются с проблемами при работе со структурированным выводом, особенно в сочетании с фреймворками, такими как LangChain, OpenAI SDK, vllm и другими.

Многие пользователи сообщают о неудачах при генерации корректного JSON или других структурированных форматов, галлюцинациях модели относительно элементов формата и несоответствующем или пустом содержимом ответов. Эти проблемы возникают из-за текущих пробелов в совместимости, изменений в формате ответов (например, Harmony) и неполного соблюдения схем вывода как со стороны Ollama, так и сторонних API.

llama with the issues

О GPT-OSS

Это новая очень интересная LLM от OpenAI. Просто посмотрите на эти параметры:

Модель gpt-oss-120b gpt-oss-20b
Слои 36 24
Общее количество параметров 117B 21B
Активные параметры на токен 5.1B 3.6B
Общее количество экспертов 128 32
Активные эксперты на токен 4 4
Длина контекста 128k 128k

Примечания к выпуску (здесь и здесь):

  • Лицензия Apache 2.0: свободно создавайте без ограничений copyleft или риска патентов — идеально для экспериментов, настройки и коммерческого развертывания.
  • Настраиваемая глубина рассуждений: легко регулируйте глубину рассуждений (низкая, средняя, высокая) в зависимости от вашего конкретного случая использования и требований к задержке.
  • Полная цепочка рассуждений: полный доступ к процессу рассуждений модели, что облегчает отладку и повышает доверие к результатам. Она не предназначена для показа конечным пользователям.
  • Возможность тонкой настройки: полностью настройте модели под ваш конкретный случай использования через тонкую настройку параметров.
  • Агентские возможности: используйте нативные возможности моделей для вызова функций, веб-серфинга, выполнения Python-кода и структурированного вывода.
  • Квантование MXFP4: модели были дополнительно обучены с квантованием MXFP4 весов MoE, что позволяет модели gpt-oss-120b работать на одном GPU объемом 80GB (например, NVIDIA H100 или AMD MI300X), а модель gpt-oss-20b — в пределах 16GB памяти. Все оценки проводились с тем же квантованием MXFP4.

Что тут не любить? Поведение структурированного вывода… вот что. В целом, эта проблема очень разочаровывает, особенно потому, что Структурированный вывод работает так хорошо с Ollama и Qwen3.

Частые проблемы

  • Модели, такие как gpt-oss:20b, часто не могут генерировать строгий JSON или вывод, соответствующий схеме, с ответами, содержащими дополнительные комментарии или неполные объекты.
  • Интеграция с LangChain и OpenAI SDK часто приводит к ошибкам разбора/валидации из-за неструктурированного вывода, делая конвейеры непригодными для использования в производственных средах.
  • Формат Harmony в gpt-oss вводит следы рассуждений даже при отсутствии запроса, усложняя разбор схемы по сравнению с другими моделями, такими как Qwen3.
  • В vllm механизмы обеспечения структурированного вывода либо отсутствуют, либо устарели, поэтому вывод часто “неуправляемый” и требует ручного разбора.
  • Есть сообщения о том, что модель генерирует правильный структурированный вывод, а затем продолжает с нерелевантным содержимым, нарушая работу стандартных парсеров.

Обходные пути и исправления

  • Некоторые пользователи предлагают явно указывать схему JSON в запросе и пытаться вручную разбирать вывод модели, иногда используя пре- и пост-разделители.
  • Другой подход — запуск слоя постобработки или меньшей LLM для преобразования вывода GPT-OSS в нужную схему, хотя это ресурсоемко.
  • Несколько исправлений ошибок и запросов на слияние (PR) постепенно улучшили соответствие формату Harmony, особенно с более новыми версиями Ollama, но полного соответствия предыдущим моделям пока нет.
  • При использовании vllm исправление конкретных функций может помочь, но в целом надежное обеспечение схемы на данный момент не поддерживается.

Рекомендации

  • Избегайте полного reliance на GPT-OSS для строгого структурированного вывода до полного восстановления совместимости в Ollama и связанных фреймворках.
  • В случаях, когда структурированный вывод критически важен, используйте дополнительный разбор или модель, лучше известную своей соответствией схеме.
  • Следите за соответствующими проблемами на GitHub (ollama/ollama, langchain-ai/langchain, vllm-project/vllm) для исправлений и обновлений интеграции.

В итоге, GPT-OSS с Ollama в настоящее время испытывает трудности со структурированным выводом, в основном из-за неполного соблюдения форматов, изменений в формате Harmony и отсутствия поддержки в инструментах. Ручные обходные пути могут помочь, но гарантированного успеха нет.

Полезные ссылки

Другие статьи об Ollama