Использование моделей принятия решений
Модели принятия решений отвечают на структурированные типизированные вопросы вместо генерации текста. Получив state — ситуацию, относительно которой принимается решение — и набор questions, такая модель возвращает типизированный вердикт по каждому вопросу: выбранный вариант, уровень оценки или ответ «да/нет», обычно со значением уверенности. Они применяются там, где полная генерация избыточна: выбор и маршрутизация модели, классификация, легкие оценочные задачи.
В GPUStack модели принятия решений обслуживаются по контракту System One (Jev) на эндпоинте /v1/systemone. В этом руководстве показано, как развертывать и использовать такие модели в GPUStack.
Предварительные требования
Перед началом убедитесь, что:
- GPUStack установлен и запущен. Если нет, см. Краткое руководство.
- Есть доступ к Hugging Face для загрузки файлов модели.
Шаг 1. Разверните модель
GPUStack сейчас поддерживает два вида развертываний, обслуживающих API принятия решений:
vLLM: использовать модель генерации текста
vLLM 0.32.0 и новее обслуживают контракт System One на обычном сервисном порту. Разверните любую модель генерации текста с бэкендом vLLM как обычно, а затем измените категорию модели на Decision — именно категория сообщает GPUStack, что развертывание является службой принятия решений.
- Разверните модель генерации текста с бэкендом
vLLM(версия0.32.0или новее). См. Управление развертыванием моделей. - Отредактируйте модель и установите в её настройках
CategoryнаDecision.
llama.cpp: обслуживать Laya GGUF принятия решений
Файлы Laya GGUF принятия решений содержат ключ метаданных решения поверх обычной магистрали (modern-bert, qwen, llama). Разверните GGUF как любую другую GGUF-модель, и его будет обслуживать llama.cpp: GPUStack обнаружит метаданные решения при развертывании и автоматически отнесет модель к категории decision — без этого тот же файл был бы ошибочно распознан как реранкер или модель эмбеддингов.
В обоих случаях после запуска развертывания столбец Category на странице Models показывает Decision. Категорию можно исправить и вручную; значения категорий проверяются, поэтому категория с опечаткой будет отклонена, а не молча сохранена.
Шаг 2. Запросите решение
Запросить решение можно как через интерфейс, так и через API.
Через интерфейс
- Перейдите в
Playground>Decisionили нажмитеOpen in Playgroundв строке модели на страницеModels. - Выберите модель принятия решений в селекторе моделей — отображаются только модели категории
decision, и модель — единственный параметр решения. - Заполните редактор
Stateситуацией, относительно которой принимается решение (предзаполнен примером чата; допускается простой текст или структурированный JSON), и редакторQuestionsвопросами (предзаполнен вопросомchoice; добавляйте вопросы кнопками+ choice,+ score,+ noul). - Нажмите
Run(илиCtrl/Cmd+Enter) и прочитайте типизированные ответы.
Подробнее о редакторах и карточках ответов см. Playground принятия решений.
Через API
Отправьте state и questions модели через POST /v1/systemone (аутентификация — API-ключом, созданным на странице API Keys). Поле model обязательно и содержит имя развернутой модели (или имя маршрута модели), как в OpenAI-совместимых эндпоинтах.
Вот пример скрипта с использованием curl:
Замените <your-server-url> на URL вашего сервера GPUStack, а <your-api-key> — на API-ключ, созданный на странице API Keys.
Пример ответа:
Каждая запись в questions сопоставляет идентификатор вопроса с одним из трех распространенных типов, а ответ на вопрос возвращается в answers под тем же идентификатором:
| Тип | Значение | criteria | Поле ответа |
|---|---|---|---|
choice | Выбрать один вариант | Имя варианта → описание | choice — имя выбранного варианта |
score | Оценить state по упорядоченным уровням | Упорядоченный список описаний уровней | score — индекс уровня |
noul | Бинарный вопрос (да/нет) | Необязательные описания сторон true / false | noul — логическое значение |
GPUStack разрешает поле model и передает остальную часть тела запроса и весь ответ движку решений без изменений — набор вопросов в контракте открыт, и движки могут принимать дополнительные поля.
Дальнейшие шаги
- Развернутая модель принятия решений может служить службой решений политики Маршрутизация службы принятия решений маршрута, оценивая его цели при каждом запросе.
- Полный справочник по эндпоинтам см. в разделе API вывода.

