Jev 模型是什么?TypeSafe AI 判断模型详解
2026 年 9 月,TypeSafe AI 发布了 Jev——其 “System One” 判断模型产品线的第一个模型。它的定位故意做得与众不同:Jev 不聊天,只回答那些”答案空间有限”的问题——判断题、选择题、打分题——并返回带 confidence(置信度)的结构化答案。如果你的 LLM 调用里有一大堆最后是为了从一段话里抠出一个 yes/no,这篇 Jev 模型详解就值得读完。
TL;DR: Jev 是 TypeSafe AI 的判断模型,不是聊天模型。它专注三种题型原语——判断题(yes/no/unclear)、选择题(从选项中挑一个)、打分题(给出量表上的分数),返回包含 answer、confidence、rationale 的 JSON。它可以通过 OpenRouter 的 OpenAI 兼容端点像普通 LLM 一样调用,接进现有管线的成本很低。
Jev 是什么,不是什么
理解 Jev 模型最快的办法,是先把它的边界画清楚。
Jev 是:
- 一个专注”有界问题”的判断模型:这是不是 X、这几项里哪项是 Y、Z 在量表上打几分。
- 一个返回结构化答案的模型:
answer字段、confidence分数、rationale(理由说明)。 - 通过 OpenAI 兼容渠道访问的模型——主演示渠道是 OpenRouter,请求结构和现有代码几乎一致。
Jev 不是:
- 聊天机器人。它不会多轮对话、不会角色扮演,也不会替你写博客。
- 通用 LLM 的替代品。长文生成、摘要、多轮对话仍然是聊天模型的活。
- 精度保证。它改变的是交互”形态”——从一段散文变成一次结构化判断;问题本身写得好不好,依然决定结果好不好。
三种题型原语速览
每次 Jev 调用都对应三种题型之一,这是 jev ai 能力面的核心心智模型。
| 题型 | 典型问法 | 答案空间 | 答案示例(示例数据,example fixture) |
|---|---|---|---|
| 判断题 judgment | “这条评论是不是垃圾信息?” | yes / no / unclear | {"answer":"yes","confidence":0.97,"rationale":"..."} |
| 选择题 choice | “这个工单该归哪个团队?” | 列出的选项之一 | {"answer":"billing","confidence":0.94,"rationale":"..."} |
| 打分题 scoring | “给这条客服回复打 1 到 10 分” | 给定量表上的数字 | {"answer":8,"scale":[1,10],"confidence":0.86,"rationale":"..."} |
三个值得注意的细节:
- 判断题是三值答案。
unclear是一个正经答案,不是报错。它天然就是”需要人工介入”的分流桶。 - 选择题的答案是受约束的。 只要在题干里枚举清楚选项,返回的 answer 就是其中之一,下游代码写起来非常省事。
- 打分题自带量表。 响应里的
scale字段把取值范围写明,一个 “7” 不会产生”是 10 分制还是 100 分制”的歧义。
代码里输出长什么样
因为主演示渠道是 OpenRouter,调用 Jev 走的就是标准 chat completions 端点。下面是判断题的最小 curl 示例:
# Confirm the exact model slug on the OpenRouter model page
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"messages": [
{
"role": "user",
"content": "Judgment question: does this comment contain spam? Comment: \"Buy followers now at cheap-bots.example\""
}
]
}'
请求体就是普通的 OpenAI 兼容格式——模型 id 加一条用户消息。判断的语义体现在问法上;上线前请到 OpenRouter 模型页确认确切的 model slug。
解析后的答案长这样——示例数据(example fixture),正式字段名以官方文档为准:
{
"answer": "yes",
"confidence": 0.97,
"rationale": "The comment promotes a third-party follower-selling service and contains an unrelated link."
}
Python 版本同样简短:
import json, os, requests
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
json={
# Confirm the exact model slug on the OpenRouter model page
"model": "typesafe/jev-1.13",
"messages": [{"role": "user", "content": "Judgment question: does this comment contain spam? Comment: \"Buy followers now at cheap-bots.example\""}],
},
timeout=30,
)
payload = resp.json()
result = json.loads(payload["choices"][0]["message"]["content"])
print(result["answer"], result["confidence"])
外层 payload 是标准的 OpenAI 兼容响应壳;内层 result 是示例数据(example fixture)——响应形态为示例,正式字段名以 typesafe.ai 官方文档为准。
什么场景适合,什么场景不适合
基于三种题型,适合的场景:
- 内容审核:对每条评论、帖子做垃圾信息识别、毒性检测、违规标记。
- 客服分流:把进线工单分类到你的某个团队(选择题),再判断是否可自动处理。
- 筛选与打分:在人工介入之前,先对简历、答案、销售线索按固定量表打分。
- 评测闸口:在管线里对模型输出或 RAG 答案打分,决定放行还是拦截。
不适合的场景:
- 起草内容、写代码、输出长篇分析——这些请用聊天模型。
- 用户期待”对话感”的开放式交流。
- 你无法枚举答案空间或定义量表的模糊问题。给不出有界选项,Jev 就没有锚点。
如果你正在为其中某类任务权衡 Jev 和通用聊天模型,《Jev 与 LLM 对比》这篇做了逐项拆解;想深入题型设计,看《Jev 三原语》这篇;想看内容审核的完整落地案例,参考垃圾评论识别那个 case。
本文适用版本 Jev 1.13。