使用决策模型
决策模型(Decision Models)回答结构化的类型化问题,而非生成文本。给定一个 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 模型一样部署它,由 llama.cpp 提供服务:GPUStack 会在部署时检测决策元数据并自动将模型归入 decision 类别——否则同一文件会被误判为重排序或嵌入模型。
无论哪种方式,部署启动后 Models 页面的 Category 列都会显示 Decision。类别也可以手动修正;类别值有校验,误写的类别会被拒绝而不是被静默保存。
步骤 2:发起决策
可以在 UI 上发起决策,也可以通过 API 发起。
通过 UI
- 进入
Playground>Decision,或在Models页面中点击模型行上的Open in Playground。 - 在模型选择器中选择决策模型——列表中只显示
decision类别的模型,且模型是决策唯一的参数。 - 在
State编辑器中填写做出决策所依据的情境(预置了 chat-messages 示例,接受纯文本或结构化 JSON);在Questions编辑器中填写要提出的问题(预置了一个choice问题,可通过+ choice、+ score、+ noul按钮扩展)。 - 点击
Run(或按Ctrl/Cmd+Enter)并查看类型化的答案。
编辑器与答案卡的详细说明参见 Decision Playground。
通过 API
通过 POST /v1/systemone 向模型发送 state 和 questions(使用在 API Keys 页面创建的 API 密钥认证)。model 字段必填,取部署模型的名称(或模型路由名称),与 OpenAI 兼容端点一致。
以下是使用 curl 的示例脚本:
将 <your-server-url> 替换为 GPUStack Server 的 URL,将 <your-api-key> 替换为在 API Keys 页面创建的 API 密钥。
响应示例:
questions 下的每个条目将问题 id 映射到三种常规类型之一,问题的答案会在 answers 中以相同 id 返回:
| 类型 | 含义 | criteria | 答案字段 |
|---|---|---|---|
choice | 选择一个选项 | 选项名 → 描述 | choice——选中的选项名 |
score | 按有序级别对 state 评分 | 有序的级别描述列表 | score——级别索引 |
noul | 二元(是/否)问题 | true / false 两侧的可选描述 | noul——布尔值 |
GPUStack 解析 model 字段,请求体其余部分和整个响应原样透传给决策引擎——契约中的问题集是开放的,引擎可以接受更多字段。
后续步骤
- 已部署的决策模型可以作为路由 Decision Service Routing 策略的决策服务,按请求为路由目标评分。
- 完整端点参考参见推理 API。

