找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1|回复: 0

[AIask]新增支持 Jev 模型,另有赛博鸡蛋自动发放。

[复制链接]

937

主题

0

回帖

3083

积分

直接发帖组

积分
3083
发表于 2 小时前 | 显示全部楼层 |阅读模式
[AIask]新增支持 Jev 模型,另有赛博鸡蛋自动发放。

请先注册: https://aiask.me/

使用方法:AIask.me 网站后台 -> API 密钥 -> 创建密钥 -> 名称自定义,类型选:OpenAi ,分组选:JEV 模型

费用(目前):$0.063 / 1M 输入 token ,输出免费

一、curl 示例

curl https://aiask.me/v1/systemone \
-H "Authorization: Bearer sk-你的 key" \
-H "Content-Type: application/json" \
-d '{
"state": {"message": "导出按钮在 Safari 上会让设置页崩溃,Chrome 正常。", "source": "support_ticket"},
"model": "jev-latest",
"questions": {
"is_bug": {
"type": "noul",
"instructions": "这是不是一个软件缺陷报告?"
},
"team": {
"type": "choice",
"instructions": "该分给哪个团队?",
"criteria": {"frontend": "UI 、浏览器兼容性", "backend": "API 、数据库", "infra": "部署、可用性"}
},
"severity": {
"type": "score",
"instructions": "严重程度?",
"criteria": ["仅外观问题", "功能受损但有变通办法", "阻塞且无变通办法"]
}
}
}'

二、JEV 是什么

TypeSafe System One 不是聊天模型,是结构化判断模型。你给它一段素材( state )和若干道题( questions ),它一次性返回每道题的概率化答案,没有自由文本、没有流式输出、没有 tool call 。

典型用途:工单分类、内容审核、RAG 段落筛选、LLM 输出兜底校验、意图路由、置信度分流。

与 OpenAI 协议的区别一览:

OpenAI Chat/Responses
TypeSafe System One

端点
/v1/chat/completions、/v1/responses
/v1/systemone

输入
messages
state + questions

输出
文本 / tool call
每题一个概率化答案

流式
支持
不支持

计费
输入 + 输出
只算输入 token ,输出免费

三、端点与鉴权

POST https://aiask.me/v1/systemone
Authorization: Bearer sk-你的-aiask-key
Content-Type: application/json

四、请求结构

{
"state": "客户说运动鞋尺码发错了,想换成 10 码。",
"model": "jev-latest",
"questions": {
"自定义题目 key": { "type": "noul|choice|score", "instructions": "...", "criteria": ... }
}
}

三个字段都必填。questions 的 key 由你自己定义,响应会用同样的 key 返回答案 —— 这就是"结构化"的来源,不需要解析自由文本。

state 接受三种形态 **[官方文档]**:

"state": "我的卡被扣了两次款。" // 字符串:单段文本
"state": {"message": "我的卡被扣了两次款。", "order_id": "A-104"} // 对象:带字段名的记录(推荐)
"state": ["你好", "我的客户号是 TS1337 。", "卡被扣了两次款。"] // 数组:消息序列

只接受文本,不支持图片 / 音频 / 视频。英文准确率最高,中文等其它语言支持但准确率会下降 [官方文档] —— 中文业务场景建议先小批量实测再上量。

原则:state 放事实和素材,questions 放要做的判断。两者不要混着写。

五、三种题型

1. noul —— 是非题,返回"是"的概率

{
"type": "noul",
"instructions": "客户是不是在要求转人工?",
"criteria": {
"true": "提到了之前的工单、尝试过联系、或说'我问过了'",
"false": "没有任何过往联系的迹象"
}
}

criteria 可选,只有 true / false 两个描述字段。返回:

{ "type": "noul", "noul": 0.93 }

noul 是 0~1 的概率值,表示"是"的可能性。注意 0.5 表示两种可能性各半,不是"中等程度"。noul 答案不带 confidence 字段。

2. choice —— 单选题,返回选项 + 完整概率分布

{
"type": "choice",
"instructions": "这条工单应该归哪个部门?",
"criteria": {
"returns": "换货、退款、错发或破损",
"shipping": "物流状态、延迟、丢件",
"billing": "扣费、发票、支付问题"
}
}

criteria 是对象/映射(不是数组):key 是选项名,value 是选项描述。描述可以写 null(选项名本身够清楚时)。最多 255 个选项 **[官方文档]**。返回:

{
"type": "choice",
"choice": "returns",
"confidence": 0.88,
"probabilities": { "returns": 0.88, "shipping": 0.09, "billing": 0.03 }
}

choice 是概率最高的那个,probabilities 全部选项加起来等于 1.0 。

3. score —— 打分题,返回有序量表上的位置

{
"type": "score",
"instructions": "这个 bug 有多严重?",
"criteria": [
"仅影响外观,功能正常",
"功能受损或降级,但有变通办法",
"阻塞性问题,无变通办法"
]
}

criteria 是数组(注意和 choice 不同),2~10 个等级,从低到高排列 **[官方文档]**。返回:

{
"type": "score",
"score": 1.3,
"confidence": 0.54,
"legend": { "0": "仅影响外观,功能正常", "1": "功能受损或降级,但有变通办法", "2": "阻塞性问题,无变通办法" },
"probabilities": { "0": 0.0, "1": 0.7, "2": 0.3 }
}

score 不是整数,是各等级编号的概率加权平均(上例 1×0.7 + 2×0.3 = 1.3 )。legend 是等级编号到描述的映射。

写 criteria 的要点 **[官方文档]**:等级描述要写得可对照素材("功能受损但有变通办法"),不要写抽象词("中等严重")。一道题只评一个维度,多维度拆成多道题然后在自己代码里加权。

选型速查

答案形态
用哪个
关键返回字段

是 / 否
noul
noul( 0~1 概率)

一组固定选项里挑一个(无序)
choice
choice + probabilities + confidence

有序量表上的位置(严重度、满意度、成熟度)
score
score + legend + probabilities + confidence

六、完整响应

{
"model": "jev-1.13.0",
"answers": {
"题目 key1": { ... },
"题目 key2": { ... }
},
"usage": { "input_tokens": 360, "output_tokens": 39 }
}

一次请求可以问多道题,共用同一份 state 。这是省钱的关键:state 只计费一次,加题几乎不增加输入 token 。能合并就别拆成多次请求。

七、confidence 怎么用

confidence( 0~1 )由 probabilities 的集中程度算出来,只有 choice 和 score 有 **[官方文档]**。分布越集中越高,1.0 表示概率全压在一个结果上。

官方建议的三档分流 **[官方文档]**:

区间
处理方式


直接自动执行


谨慎处理 —— 让用户确认、标记待审、或补充数据再判


不要执行 —— 转人工、要求澄清、或走其它系统

具体阈值要按业务定:官方示例用 0.5 作为兜底底线(低于此一律转人工),**破坏性操作要求 0.9+**,只读操作可以放宽。阈值要拿自己的数据实测后再调,别直接抄。

八、官方 SDK 接入

官方 SDK 可以直接用,只需把 base URL 指到 aiask.me 、key 换成本站 key,其余代码不用动。

Python

from typesafe_sdk import TypeSafeClient, Noul, Choice, Score

client = TypeSafeClient(
api_key="sk-你的 aiask-key",
base_url="https://aiask.me", # 默认是 https://api.typesafe.ai
model="jev-latest",
)

with client:
resp = client.system_one(
state="导出按钮在 Safari 上会让设置页崩溃。",
questions={
"team": Choice(
instructions="该分给哪个团队?",
criteria={"frontend": "UI 、浏览器兼容性", "backend": "API 、数据库"},
),
"severity": Score(
instructions="严重程度?",
criteria=["仅外观问题", "功能受损但有变通办法", "阻塞且无变通办法"],
),
},
)
print(resp.answers["team"].choice, resp.answers["team"].confidence)

环境变量走 TYPESAFE_API_KEY 和 TYPESAFE_BASE_URL(把后者设成 https://aiask.me 即可,代码零改动)

异步用 AsyncTypeSafeClient + async with,await client.system_one(...)

重试超时:RetryPolicy(max_retries=3, backoff_max=0.2, timeout=1.0),可挂在 client 上也可以单次调用传

不想用 Noul() / Choice() 这些辅助类,也可以直接传原始字典:{"billing": {"type": "noul", "instructions": "关于账单吗?"}}

JavaScript / TypeScript

npm install @typesafe-ai/sdk # 需要 Node.js 20+

import { TypeSafeClient, choice } from "@typesafe-ai/sdk";

const client = new TypeSafeClient({
apiKey: "sk-你的 aiask-key",
baseURL: "https://aiask.me", // 默认 https://api.typesafe.ai
defaultModel: "jev-latest",
timeout: 10000, // 单次尝试超时,毫秒
});

const resp = await client.systemOne({
state: { document: "我被重复扣款了,请尽快处理。" },
questions: {
category: choice("这条工单是关于什么的?", { billing: null, technical: null, other: null }),
},
});

console.log(resp.answers.category.choice);

TypeSafeClientConfig 全部可选项 [官方文档]:apiKey、baseURL、defaultModel(默认 jev-latest)、timeout(默认 10000ms )、retry、defaultHeaders、fetch、logger、logLevel(默认 warn)、dangerouslyAllowBrowser(默认 false ,别开,会把 key 暴露给页面用户)。

注意:base_url / baseURL 填站点根地址 https://aiask.me 就行,SDK 自己会拼 /v1/systemone。别填成 https://aiask.me/v1/systemone。

九、限制

项目
限制
来源

单请求总上下文
64k token ( state + 所有题目合计)
[官方文档]

state + 最长的那道题
32k token
[官方文档]

choice 选项数
最多 255
[官方文档]

score 等级数
2 ~ 10
[官方文档]

上游吞吐
250,000 token/秒; 1,200 请求/分钟
[官方文档]

流式
不支持
[已实测]

输入模态
纯文本
[官方文档]

官方说明速率限制会因需求波动动态调整,可能不另行通知。本站还叠加自己的分组并发、RPM 、配额限制。

十、错误码与排错

状态码
含义
怎么办

401
key 无效 / 缺失 [已实测]
检查 Authorization: Bearer sk-...

403
权限不足
key 状态、IP 白名单

404
key 的分组不是 OpenAI 平台 [已实测]
后台把 key 换到 OpenAI 平台分组

422
请求校验失败 [已实测]
见下方三种常见情况

429
限流
指数退避重试 [官方文档]

5xx / 529
上游过载 [官方文档]
指数退避重试;本站会先尝试切换账号

422 的三种常见原因 **[已实测]**:

body 不是合法 JSON ,或为空

model 不是 jev-*(比如误传 gpt-5.4)—— 报 model must be a jev model (e.g. jev-latest)

缺 questions,或 questions 不是对象 —— 报 questions is required

排错顺序建议:

先 GET /v1/models 确认 key 能看到 jev 模型 —— 看不到说明分组白名单或平台不对

后台 → 账号管理 → 对应账号点"测试连接",模型选 jev-latest,会直接打上游 /v1/systemone 并回显 model / noul / usage [已实测]

后台 → 使用记录,确认 inbound_endpoint 和 upstream_endpoint 都是 /v1/systemone
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|中转API超市

GMT+8, 2026-9-21 08:49 , Processed in 0.119037 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表