跳转到内容

Jev / System One API

Jev 是 TypeSafe 决策模型,使用专用的 System One 协议。它不是聊天模型,不能通过 /v1/chat/completions 的 messages 格式调用。

POST https://ai.j1ao.vip/v1/systemone

请求仍然使用普通 ReX API Key:

Authorization: Bearer sk-your-rex-key
Content-Type: application/json

当前 TypeSafe 渠道使用的模型包括:

  • jev-1.13
  • jev-1.13-free

模型权限和公开名称可能随账户配置变化,请先调用 GET /v1/models,并将返回的模型 ID 原样填入 model。oc-proxy_jev 是后台渠道名称,不应作为模型 ID,除非它确实出现在当前 Key 的模型列表中。

下面的请求让 Jev 根据一段状态,同时完成分类、评分和二元判断:

终端窗口
curl -sS https://ai.j1ao.vip/v1/systemone \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-1.13-free",
"state": {
"message": "客户反馈信用卡被重复扣款,并要求尽快处理。"
},
"questions": {
"route": {
"type": "choice",
"instructions": "选择负责处理该问题的团队。",
"criteria": {
"billing": "支付、账单、退款或重复扣款问题",
"support": "产品使用或技术故障问题"
}
},
"urgency": {
"type": "score",
"instructions": "评估该问题的处理紧急程度。",
"criteria": [
"低:可以排队处理",
"中:应当尽快处理",
"高:需要立即处理"
]
},
"needs_human": {
"type": "noul",
"instructions": "是否需要人工客服立即介入?"
}
}
}'
字段 类型 必填 说明
model string 是 从 GET /v1/models 返回结果中选择 Jev 模型 ID。
state string、object 或 array 是 需要模型分析的当前状态;不能是 null。
questions object 是 非空问题对象;每个键是调用方自定义的问题 ID。
questions.<id>.type string 是 支持 noul、choice 或 score。
questions.<id>.instructions 任意非空 JSON 值 是 告诉模型需要判断什么,通常使用字符串。
questions.<id>.criteria object 或 array 视类型而定 choice 和 score 必填,noul 可省略。
type 用途 criteria 格式
noul 二元判断 可省略。
choice 从多个命名选项中选择 非空对象,键为选项 ID、值为选项说明;最多 255 个选项。
score 按有序等级评分 包含 2 至 10 个等级说明的数组,顺序从低到高。

同一请求可以在 questions 中放入多个不同类型的问题。问题 ID(例如 route)由调用方定义,建议使用稳定且便于程序读取的英文标识。

const response = await fetch('https://ai.j1ao.vip/v1/systemone', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'jev-1.13-free',
state: { message: '客户反馈信用卡被重复扣款。' },
questions: {
route: {
type: 'choice',
instructions: '选择负责处理该问题的团队。',
criteria: {
billing: '支付、账单和退款问题',
support: '技术故障和产品使用问题',
},
},
},
}),
})
if (!response.ok) {
throw new Error(`${response.status}: ${await response.text()}`)
}
const result = await response.json()
console.log(result)

System One 的响应由 TypeSafe 上游以 JSON 返回,并由网关原样转发。它不是 OpenAI Chat Completions 响应,因此不要读取 choices[0].message.content。

调用方应按照请求中的问题 ID,从响应的对应问题结果中读取判断值;响应还可能包含 usage.input_tokens 和 usage.output_tokens。实际字段以当前接口响应为准,接入时建议先输出一次完整 JSON 再完成字段映射。

TypeSafe channels support only /v1/systemone

Section titled “TypeSafe channels support only /v1/systemone”

请求被发送到了 /v1/chat/completions 等其他路径。把地址改为:

https://ai.j1ao.vip/v1/systemone

并将 OpenAI messages 请求体改成本文的 state + questions 格式。

当前 model 没有路由到 TypeSafe 渠道。重新查询 GET /v1/models,确认使用的是已授权的 Jev 模型 ID;如果模型存在但仍报错,请联系管理员检查模型映射和渠道状态。

不能直接使用 OpenAI SDK 的聊天方法

Section titled “不能直接使用 OpenAI SDK 的聊天方法”

chat.completions.create() 固定调用 /v1/chat/completions,不适用于 Jev。请使用 fetch、curl 或其他能够向 /v1/systemone 发送自定义 JSON 的 HTTP 客户端。