Evaluate Questions
最近更新:2026年10月7日
TypeSafeAI System One 协议的决策端点,兼容官方 SDK,用于 Jev 这类决策模型。
这个端点兼容 TypeSafeAI 的 System One 接口,可直接配合官方 SDK(typesafe-sdk、@typesafe-ai/sdk)使用,只需把 base URL 指过来。
鉴权用 Bearer:Authorization: Bearer <你的 Amux 密钥>。
这一页讲协议:所有决策模型共用的请求与响应形状。某个模型的别名、上下文、已知短板见它自己的页面, 例如 Jev。
https://gateway.amux.ai/v1/systemone鉴权
headerAuthorizationstring必填Bearer <你的 Amux 密钥> 控制台创建的 Amux 密钥。忘了可以回控制台的密钥页再看一次。
Content-Typestring必填默认 "application/json"固定为 application/json。
请求
application/jsonmodelstring必填站内 ID,或 jev-latest 这类别名(官方 SDK 不传 model 时默认发它)。别名会随新版本发布移动;响应里的 model 给出实际作答的带版本号 ID。
statestring | object | array必填要评估的内容:字符串,或 JSON 对象/数组(聊天记录、业务记录、应用状态)。建议用带描述性字段名的对象,并在问题里用反引号引用这些字段,例如 ` message `。只收文本,不收图像、音频、视频。
questionsmap<string, Question>必填问题表,键是你自定的 id,答案按同样的 id 返回。id 不会发给模型,不影响推理。所有问题针对同一个 state 并行评估,多加几个问题几乎不增加延迟。
›questionsmap<string, Question>
‹question id›Question一个带类型的问题。type 决定它是下面三种形状中的哪一种;三种共有 type 与 instructions,各自多一个 criteria。
›‹question id›Question
noulobject是/否问题。答案是这个陈述成立的概率(0–1)。
›noulobject
type"noul"必填固定为 noul。
instructionsstring | object | array必填要判断的是/否陈述。可以是字符串,也可以是对象/数组:把问题放在一个字段里、把它要引用的数据放在其它字段里,再用反引号按名字引用。
criteriaobject可选。说明「是」(接近 1)和「否」(接近 0)各指什么。边界情况写在这里。
›criteriaobject
truestring | object | array「是」的含义。
falsestring | object | array「否」的含义。
choiceobject从你定义的选项里恰好选一个。答案带最可能的选项、每个选项的概率,以及 confidence。
›choiceobject
type"choice"必填固定为 choice。
instructionsstring | object | array必填要模型做的决定。字符串、对象或数组,同 noul。
criteriaobject必填选项名 → 判定说明。某个选项不需要说明时写 null。最多 255 个选项。选项名会原样作为 probabilities 的键返回。
scoreobject在有序的档位上给 state 打分。答案是按概率加权的值,可以落在两档之间。
›scoreobject
type"score"必填固定为 score。
instructionsstring | object | array必填要模型打分的维度。字符串、对象或数组,同 noul。
criteriaarray<string>必填各档位的描述,从低到高:下标 0 是最低档。至少 2 档,最多 10 档。
响应
200response每个问题一个答案,键与请求一致。
400response请求体格式不对;某个问题没通过上游校验(错误信息会点名字段);或明显超出上下文上限。
402response余额不足。
它不是对话模型
决策模型不生成文本。你给它一段 state 和若干带类型的问题,它对每个问题回一个结构化答案:
noul:一个是/否判断成立的概率(0–1);choice:从你给的选项里挑一个,附每个选项的概率与confidence;score:在你给的有序档位上打分,可以落在两档之间。
所以它不能从 /v1/chat/completions、/v1/messages 这些对话端点调用,也不在操练场里。
错误
错误用 OpenAI 的错误形状返回。问题内部由上游校验,不合法时返回 400 并点名字段;
type 取值与重试语义见错误与重试。
curl https://gateway.amux.ai/v1/systemone \
-H "Authorization: Bearer $AMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev",
"state": {
"message": "Hi, my Stripe integration has been failing for 3 days. Please help ASAP."
},
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle `message`?",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": null
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated does the customer appear?",
"criteria": [
"Calm",
"Frustrated but civil",
"Very angry"
]
},
"is_urgent": {
"type": "noul",
"instructions": "`message` conveys urgency or time-sensitivity"
}
}
}'{
"model": "jev-1.13.0",
"answers": {
"department": {
"type": "choice",
"choice": "technical",
"confidence": 0.95,
"probabilities": {
"billing": 0.03,
"sales": 0,
"technical": 0.97
}
},
"frustration": {
"type": "score",
"score": 1,
"confidence": 1,
"legend": {
"0": "Calm",
"1": "Frustrated but civil",
"2": "Very angry"
},
"probabilities": {
"0": 0,
"1": 1,
"2": 0
}
},
"is_urgent": {
"type": "noul",
"noul": 1
}
},
"usage": {
"input_tokens": 407,
"output_tokens": 73
}
}