提供上下文
传入相关文本、JSON 数据或文本列表。Jev 目前不接收图片、音频和视频。
Jev 是 TypeSafe 推出的首个 System One 模型,可根据输入返回预先定义类型的判断结果和概率。了解适用场景,以及如何通过 API 接入。
TypeSafe 把 Jev 归为 System One 模型:它返回预设类型的选项与概率,而不是生成开放式文本。对照生成式模型和规则代码,看看各自适合什么任务。
| 比较维度 | Jev | 生成式 LLM | 规则代码 |
|---|---|---|---|
| 输出 | 事先定义好的选项、评分和概率 | 灵活的文本、代码或结构化输出 | 由明确条件产生的确定性结果 |
| 速度 | 针对低延迟决策优化;TypeSafe 在其测试中报告 70–500 毫秒 | 取决于模型、提示词与输出长度 | 对已知条件通常非常快 |
| 适用任务 | 软件中反复出现的语义判断 | 写作、复杂推理与开放任务 | 边界清楚且稳定的条件 |
| 主要限制 | 不能生成自由文本;类型正确的答案也可能判断错误 | 灵活输出可能需要解析与验证 | 遇到含义模糊的输入,规则难以覆盖所有情况 |
速度数据来自 TypeSafe 对特定结构化决策任务的测试,并非本站独立基准测试,也不是通用速度保证。 阅读测试方法
可选答案已经明确,但需要理解输入内容时,可以考虑 Jev;需要生成新内容时,选生成式模型;条件能明确写成代码时,直接用规则。
Jev AI Model 会根据你提出的问题分析文本或结构化数据,返回代码可以直接处理的选项、评分和概率。下一步怎么做,仍由你的应用决定。
“我的订阅被扣了两次费用,可以帮我处理吗?”
应该交给哪个团队处理?
示意概率 0.92
传入相关文本、JSON 数据或文本列表。Jev 目前不接收图片、音频和视频。
事先定义可选答案,让模型返回选项、评分或“是”的概率。
根据结果和置信度决定是自动分流、交给人工复核,还是执行其他操作。格式正确,也可能判断错误。
Jev 适合处理应用里反复出现、答案范围明确的判断。以下是可尝试的用法,效果仍需用自己的数据验证。
给客诉和商家反馈分类,评估紧急程度,再分配给对应团队;不确定的情况交给人工处理。
根据用户表达的偏好筛选信息流,评估候选内容的相关性,再结合站内信号和业务规则排序。
判断请求该交给哪个模型、工具或 Agent,是否需要搜索,以及结果是否足够完整、能否继续下一步。
按明确规则检查消息、代码变更或工具调用;高风险或判断不确定时交由人工复核。
根据当前游戏状态和一组合法动作,为 AI 对手或 NPC 选择下一步;规则校验和实际执行仍由游戏代码负责。
按自己的规则整理邮件和通知、判断智能家居状态,或决定何时触发日常自动化。
先找出应用中已经存在的一项明确判断。定义可能的答案,再由代码决定如何使用结果。
例如给工单分流,或评估某个候选内容的相关性。
调用前写清楚输入内容、要问的问题和允许返回的答案。
结合概率与置信度,决定执行、回退或人工复核。
下面的服务端 TypeScript 示例通过 OpenRouter 向 Jev 1.13 发送一条客服消息和两个预先定义好答案形式的问题。API 密钥只放在服务端,结果交由应用代码处理。
免费体验 Jevconst apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) throw new Error("Set OPENROUTER_API_KEY");
const response = await fetch("https://openrouter.ai/api/alpha/decisions", {
method: "POST",
headers: {
Authorization: "Bearer " + apiKey,
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "typesafe/jev-1.13",
state: "My card was charged twice. Please help ASAP.",
questions: {
department: {
type: "choice",
instructions: "Which team should handle this?",
criteria: {
billing: "Payments and refunds",
technical: "Bugs and integrations"
}
},
urgent: {
type: "noul",
instructions: "Does this message need urgent attention?"
}
}
})
});
if (!response.ok) throw new Error("Jev request failed: " + response.status);
const {answers} = await response.json();
if (answers.department.choice === "billing" && answers.urgent.noul > 0.8) {
// Route to the billing review queue.
}POST /api/alpha/decisionsstate + questionsanswerschoice 给出负责的团队;noul 用 0 到 1 的数值表示“是”的倾向。再由你的代码结合业务规则完成分流。
上线前请用有代表性的工单测试,记录模型版本,并把结果不确定或出错代价高的情况交给人工复核。示例中的 0.8 只是演示阈值。
接口来源: OpenRouter · TypeSafe
Harness 负责协调 Agent 的模型调用和工具执行。在需要做判断的节点,Jev 读取用户消息、待执行的工具调用或 Agent 状态,返回结构化结果;接下来如何分支由代码决定,开放式任务仍交给聊天模型。
ModelRouterMiddlewarebefore_agent → wrap_model_call在运行开始前判断最新的用户请求,选定合适的模型,并在本次运行中沿用。选项、概率和置信度会保留在 Agent 状态里,供后续逻辑使用。
AutoModeMiddlewarewrap_tool_call在指定工具执行前检查调用。如果 Jev 判断风险较高或授权不足,中间件会拦下调用并返回错误 ToolMessage;它不会自动发起人工审批。
TypeSafeClassifierChoice · Score · Noul也可以在自定义中间件里加入自己的检查点:把 Agent 消息或状态交给 TypeSafeClassifier,用 Choice、Score 或 Noul 提问,再由代码决定分支或交给人工复核。
请求里定义要判断的问题,响应会按问题名称返回结果。下面解释示例中用到的 JSON 字段。
modelstatequestionstypeinstructionscriteriaanswerschoiceprobabilitiesconfidencenoul结果符合字段格式,也可能判断错误。请用自己的样本验证,并按业务风险设置分流阈值。
Jev 是 TypeSafe 的模型。社区开发者也在用开源模型和接口探索快速、结构化的决策。这里可以比较它们的代码、实现方式与局限。
这些是社区独立项目,并非 Jev 官方版本。
这里汇总了发布帖、官方 SDK 和独立解读视频的要点。先在本站了解背景,再按需查看原文。
TypeSafe 在 X 上发布产品动态和背景信息。这些内容代表团队自己的说法;实际开发前仍应核对官方文档。
查看原文官方 JavaScript 和 TypeScript SDK 提供 API 定义、示例和版本更新。想知道 Jev 的请求如何写成代码,可以从这里开始。
查看原文发布帖讨论了决策模型适合哪些环节、如何评估,以及高置信度的错误结果该如何处理。这是开发者讨论,不能当作性能测试。
查看原文TypeSafe 的 Allie Laabs 在 ThursdAI 访谈中解释 System One 和 Choice、Score、Noul 三种输出。节目现场测试帖子分类、展示 Doom 演示,也讨论了 Jev 的局限。
查看原文TypeSafe AI 将 Jev 作为首个 System One 模型推出,目标是让快速、结构化的判断进入常规软件工作流。
创始人 Diogo Almeida 曾在 OpenAI 和 Google Brain 工作。根据 TypeSafe 的介绍,他参与的指令遵循和 RLHF 研究影响了 ChatGPT 背后的技术。
不是。Jev 返回的是按指定格式组织的判断结果和概率,不负责生成聊天回复或代码。
它可以帮助评估候选内容的语义相关性或进行重排。完整推荐系统仍需候选召回、业务规则、效果评估和你自己的排序逻辑。
不一定。格式约束不了判断本身。请用有代表性的数据测试,并在代码中处理不确定的结果。
可以从 TypeSafe 官方文档和 SDK 开始;OpenRouter 的模型页面也提供了通过其平台使用 Jev 的入口。