Перейти к содержимому
17 / 21

Что такое декодирование по грамматике (constrained decoding) — outlines, jsonformer, грамматики llama.cpp — и чем оно надёжнее обычного режима JSON?

Декодирование по грамматике (constrained decoding) вмешивается в сам выбор токенов: на каждом шаге следующий токен пропускается через автомат, грамматику или регулярное выражение так, чтобы итог ВСЕГДА совпадал со схемой. Обычный структурированный вывод (OpenAI response_format, инструменты Anthropic) полагается на проверку на сервере и повтор при ошибке — а декодирование по грамматике даёт 100% валидность без задержек на повтор, но требует доступа к «сырым» вероятностям токенов (logits), то есть своего сервера: llama.cpp / vLLM / HF transformers, outlines, jsonformer.

Что такое декодирование по грамматике (constrained decoding) — outlines, jsonformer, грамматики llama.cpp — и чем оно надёжнее обычного режима JSON? | JScriptiser