TypeSafe 决策模型 Jev 是什么:面向开发者的原理解读
What Is Jev? TypeSafe's Decision Model Explained for Developers
TypeSafe 的 Jev 是非生成式决策模型,输入文本加类型化问题,返回预设选项、分数或 yes/no 概率并附校准概率,9 月 15 日以 early access 发布,当前版本 Jev 1.13。
作者用真实 API 调用拆解 Jev 的三种返回原语和概率读法,开发者可据此判断路由分类场景是否适合替换 LLM 加正则的工作流。
什么是 Jev?你应该用它来做什么?它是 TypeSafe 的决策模型,接收一段文本和一个带类型的问题,然后返回一个带类型的答案,该答案是你预定义答案集中的选项之一。所以,如果我有一个关于工单路由的问题,比如这个工单应该去账单、技术还是账户,Jev 会查看工单文本,并用预定义选项之一来回答,billing。但更酷的是,它还会给出答案选项的校准概率以及其他每个选项的概率。哦,还有一个整体置信度分数(稍后详述)。TypeSafe 称这些为 System One 模型,Jev 是其中第一个。
但 Jev 实际返回什么?让我们一探究竟!它返回三个原语,下面每个都有真实的 API 响应。以下是如何在不自欺欺人的情况下解读概率。以及如何使用 OpenRouter API 密钥调用 Jev。
什么是决策模型(System One 模型)?
Jev 是一个决策模型。System One 模型接收一个状态,并根据该状态返回一个决策。在这种情况下,Jev 的决策始终是你预先定义的一个带类型的值,外加一个从 0 到 1 的实际概率数字。这个名字来源于 Daniel Kahneman 在《思考,快与慢》中所称的 System One:快速、模式匹配的思考,而 System Two 则是缓慢且深思熟虑的。
那么,是什么让它成为决策模型而不是某种神谕?决策模型必须从你事先决定的一小组值中返回。没有自由形式的文本,因此你无需解析或担心幻觉。
现在,TypeSafe 对 Jev 进行了校准,所以当它说 0.8(80% 的概率)时,就像 80% 的降雨概率一样,Jev 对于这类答案大约有 80% 的时间是正确的(System One 概念)。
这只有在许多答案上取平均时才成立。任何单个答案仍然可能是错误的。这带来了实际差异;我们稍后会回到这一点。
Jev 与 LLM:各自返回什么
一旦你理解了 Jev 和 LLM 各自的功能,它们之间的区别就变得清晰了。两者都能阅读自然语言,但分歧完全在输出端。
以下是两者的并排比较:
| 生成式 LLM | Jev | |
|---|---|---|
| 输出 | Token:散文、代码、你要求的 JSON | 一个带类型的答案加上概率分布 |
| 形状有保证吗? | 只有在结构化输出时才有,而且内容仍可能出错 | 始终是你的选项之一、级别或一个是/否概率 |
| 不确定性 | 隐藏在散文之中 | 以数字形式返回,你可以据此设置阈值 |
| 输入 | 文本,通常还有图像、音频或视频 | 仅文本(字符串、JSON 对象、文本数组) |
| OpenRouter 上的价格 | 因模型而异,输入和输出均计费 | 每百万输入 token 0.042 美元,输出免费 |
每当你需要文字作为主要输出时,例如回复、摘要或代码补丁,就使用 LLM。当你需要做出代码可操作的决策时,就使用 Jev。在几乎所有现实世界的案例中,这两个系统协同工作:Jev 路由和验证事物,而 LLM 提供语言。这正是配套文章 Jev 与 LLM:何时使用哪个 所讨论的内容。它在 140 个支持案例上对这两种分工进行了基准测试,并在 TypeScript 中将两者结合在一起。
Jev 的三个原语:Choice、Score 和 Noul
你向 Jev 提出的每个问题都属于三种类型之一。一个请求包含两部分:state,即要评估的文本,以及一个 questions 对象,其中包含一个或多个带类型的问题。Jev 会一次性回答所有问题,每个答案都返回在你指定的键下。
下面的示例是我在 2026 年 9 月 21 日发出的真实调用。它们通过 OpenRouter 的 Decisions API 针对 typesafe/jev-1.13 运行,如果你设置了 OPENROUTER_API_KEY,就可以按原样运行这些示例。
Choice:从固定集合中挑选一个选项
当你从 API 获得一个 Choice 时,它总是包含三样东西:选中的选项、每个选项的概率,以及一个置信度值。
此命令发送请求:
curl https://openrouter.ai/api/alpha/decisions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "My invoice for September shows two charges for the Pro plan. I only have one workspace.",
"questions": {
"team": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Charges, invoices, and refunds",
"technical": "Bugs, outages, and broken features",
"account": "Login, password, and profile changes"
}
}
}
}'此响应显示了 API 返回的内容:
{
"model": "typesafe/jev-1.13-20260917",
"answers": {
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "technical": 0, "account": 0, "billing": 1 },
"confidence": 1
}
},
"usage": { "input_tokens": 357, "output_tokens": 38, "cost": 0.000014994 },
"id": "gen-dec-1790013975-0Cpw7ykY8YRfP85l4eqS",
"provider": "TypeSafe"
}Jev 在做出选择之前会阅读 criteria 描述,所以请像给新员工做简报那样来写它们。TypeSafe 的 API 参考 指出,问题 id(此处为 team)永远不会发送给模型。所有含义都必须体现在描述中。其次,model 字段指明了 OpenRouter 所提供的精确快照。
Score:按照你描述的有序等级进行评分
Score 接受一个有序的等级描述数组。它返回一个表示文本得分的数字,以及一个 legend,将数组中的每个索引映射到其描述,外加 Jev 对每个等级的概率和一个置信度值。
curl https://openrouter.ai/api/alpha/decisions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "Export to CSV fails with a 500 error for every workspace in our org since this morning. We can still download JSON exports, but our finance team can only import CSV.",
"questions": {
"severity": {
"type": "score",
"instructions": "How severe is this bug report?",
"criteria": [
"Cosmetic; no impact to functionality",
"Broken or degraded feature, but a workaround exists",
"Blocking issue; no workaround exists"
]
}
}
}'{
"model": "typesafe/jev-1.13-20260917",
"answers": {
"severity": {
"type": "score",
"score": 1.15,
"legend": {
"0": "Cosmetic; no impact to functionality",
"1": "Broken or degraded feature, but a workaround exists",
"2": "Blocking issue; no workaround exists"
},
"probabilities": { "0": 0, "1": 0.85, "2": 0.15 },
"confidence": 0.77
}
},
"usage": { "input_tokens": 354, "output_tokens": 17, "cost": 0.000014868 },
"id": "gen-dec-1790013976-PwmCQLkieCXkoK3qb8Ja",
"provider": "TypeSafe"
}得分 1.15 是各等级的概率加权平均值,即 0.85 乘以 1 加上 0.15 乘以 2,如上述响应所示。你自己的运行结果会相差百分之几,因为 Jev 的概率在每次调用之间会略有变化。将“我们仍然可以下载 JSON 导出”解读为一种变通方法,Jev 主要落在等级 1 上。它也给“阻塞”赋予了一定权重,因为财务部门无法使用这种变通方法。
由于分数是有序尺度,你必须让等级保持从最低到最高的真实顺序,并用文字描述每个等级。TypeSafe 文档列出了 Score 原语 的详细信息,包括最多 10 个等级的上限。
Noul:是/否命题成立的概率
Noul 是三种原语中最简单的一种。它接受一个命题作为输入,并返回答案为“是”的概率。
下面的命令发送请求:
curl https://openrouter.ai/api/alpha/decisions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": "I was charged twice for September. Please refund the duplicate charge.",
"questions": {
"refund": {
"type": "noul",
"instructions": "Is the customer asking for money back?"
}
}
}'以下是 API 返回的响应:
{
"model": "typesafe/jev-1.13-20260917",
"answers": {
"refund": { "type": "noul", "noul": 0.99 }
},
"usage": { "input_tokens": 287, "output_tokens": 20, "cost": 0.000012054 },
"id": "gen-dec-1790013977-LxrJdV3aOEliWmRmdmh9",
"provider": "TypeSafe"
}请记住,Noul 的答案没有单独的 confidence 字段。概率就是整个答案。下一节将解释如何解读它。
在一次调用中提出全部三种问题
你甚至可能会问自己,嘿,那个 questions 对象里能放多少个问题?想放多少就放多少。state 不必是普通字符串:它可以是 JSON 对象,并具备由此带来的全部灵活性。然后你的指令可以用反引号按名称引用其字段。
假设你想在一次往返中,从同一个工单领域一次性提出一个 Choice、一个 Score 和一个 Noul。
发送此请求的命令如下所示。
curl https://openrouter.ai/api/alpha/decisions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "typesafe/jev-1.13",
"state": {
"ticket": "Hi, I was charged twice for my Pro subscription this month. Please fix this before my next payroll run on Friday."
},
"questions": {
"team": {
"type": "choice",
"instructions": "Which team should handle `ticket`?",
"criteria": {
"billing": "Charges, invoices, and refunds",
"technical": "Bugs, outages, and broken features",
"account": "Login, password, and profile changes"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is `ticket`?",
"criteria": [
"No deadline; routine question",
"Customer wants a fix soon but nothing is blocked",
"Customer names a deadline or something is blocked now"
]
},
"refund": {
"type": "noul",
"instructions": "Is the customer in `ticket` asking for money back?"
}
}
}'下面显示的响应是 API 返回的响应。
{
"model": "typesafe/jev-1.13-20260917",
"answers": {
"team": {
"type": "choice",
"choice": "billing",
"probabilities": { "technical": 0, "billing": 1, "account": 0 },
"confidence": 1
},
"urgency": {
"type": "score",
"score": 2,
"legend": {
"0": "No deadline; routine question",
"1": "Customer wants a fix soon but nothing is blocked",
"2": "Customer names a deadline or something is blocked now"
},
"probabilities": { "0": 0, "1": 0, "2": 1 },
"confidence": 1
},
"refund": { "type": "noul", "noul": 0.82 }
},
"usage": { "input_tokens": 447, "output_tokens": 69, "cost": 0.000018774 },
"id": "gen-dec-1790013867-chEjwDPvoiiffM3J3eDF",
"provider": "TypeSafe"
}如果一切顺利,每个答案都会落在你指定的键下。在代码中,你就可以直接访问 answers.team.choice 和 answers.refund.noul。
如何解读 Jev 的概率和置信度
在解读 Jev 的概率和置信度时,有三条准则需要牢记。
当 Noul 接近 0.5 时,那是 Jev 在说它不知道该怎么想。把它理解为一种不确定状态。我们做个快速实验来演示。我在两次独立的调用中,针对状态“我这个月卡上有两笔扣款。如果其中一笔是错误,我有哪些选择?”问了同一个退款问题:“客户是在要求退款吗?”一次返回的 Noul 为 0.52,而在完全相同的消息上(是的,逐字相同),Jev 返回的 Noul 为 0.49。如果你忍不住想说“唉,客户就是在要求退款”,请考虑客户在消息中从未要求过退款。他们只是在绕着它转,但 Jev 感受到两个方向的拉扯,你我也同样无法确定。与此同时,早先那次 Noul 调用中明确的退款请求达到了 0.99。看出规律了吗?当结果处于中间时,把它当作第三种结果,一种你可以采取行动的结果。追问一个问题,或者把工单转交给人工。
Choice 和 Score 置信度是衡量分布集中程度的指标。分布的权重越集中在某一个结果上,置信度就越高。集中在单个选项上的选择会产生一个高置信度数值,范围从 0 到 1。置信度数值越高,选项之间的犹豫就越少。但 Jev 把注意力集中在一个选项上,并不意味着答案就是对的。TypeSafe 的置信度数值来自其 probabilities 的形状,而非其实际正确性(置信度文档)。在极端情况下,将所有权重都分配给一个结果的模型,其置信度为 1.0,而集中度较低则会降低该数值。
你可以用账单示例来验证这一点。这个 state 更模糊:“我昨天升级到了 Pro,但仪表盘仍显示 Free,而且我被扣费了。到底是哪个?”下面的响应向你展示了 API 实际返回的内容:
{
"type": "choice",
"choice": "billing",
"probabilities": { "account": 0.02, "technical": 0.19, "billing": 0.79 },
"confidence": 0.69
}Jev 仍然选择 billing,尽管其五分之一的权重落在 technical 上,置信度降至 0.69。置信度是衡量 Jev 在选项之间有多纠结的指标,但这些选项是否选得好,取决于你。
从你自己的标注数据中选取你自己的阈值。操作建议很简单。校准在总体上成立,这意味着适合你的正确截断值取决于你的错误代价有多高。TypeSafe 的 置信度指南建议三个区间:如果置信度超过某个阈值,就自动执行。在中间区间谨慎推进,标记出来让用户额外确认,或者直接标记待审核。如果置信度低于另一个阈值,则转交给人工或不同系统。
如何设置这些区间?标注几百个示例。对每个示例,检查 Jev 的概率落在哪里。然后选取能确保执行区间内的错误率是你可接受的区间。
Jev 留给你的代码处理的部分
有几件事 Jev 不会做,但你作为模型可能会期望它做。这些留在你自己的代码中或交给 LLM:
-
文本生成。每个 Jev 响应都是前面展示的三种类型化形状之一,绝不是补全,绝不是 JSON 主体,绝不是解释。当流水线需要一句话时,由 LLM 生成,Jev 来检查。验证级联 cookbook 展示了这种模式。
-
可见推理。 Jev 只返回你选项上的分布,别的什么都不返回。没有理由,没有思维链。把分布作为记录和设置阈值的信号。为了审计追踪,记录请求 ID、问题名称、概率以及你的代码所应用的阈值。不要把
state本身记录到日志中,因为工单和文档包含客户数据。 -
工具调用、对话或多步计划。 Jev 在一次往返中回答你发送的关于你发送的状态的问题。它不进行工具调用,不保持对话,也不采取步骤。它作为决策部分在智能体内部工作,例如 门控工具调用。
这是三个!还有两个约束需要记住:
-
Jev 只接受文本、字符串、JSON 对象或文本数组。不接受图像、音频或视频。
-
精确算术、日期计算和阈值比较不是 Jev 的工作。先计算它们,然后把语义部分交给 Jev。
何时使用 Jev 模型
现在你已经了解了 Jev 的作用,让我们谈谈什么时候使用它有意义:当你的 LLM 预期提供的答案适合枚举、布尔值或数字时。
何时使用 Jev
- 路由和分诊: 你确定队列、负责人、优先级。每个工单一个 Choice 和一个 Score。
- 大规模分类和标记: 足够便宜(见下方定价),可以对每一行运行;输出已经是一个标签。
- 门控智能体操作: 在破坏性工具运行之前,询问 Noul 用户的请求是否授权删除这些文件;低于你的阈值则阻止。
- 验证 LLM 输出: 用 LLM 起草,然后询问 Jev 该草稿是否基于你提供的策略文本。
- 排序和过滤: 根据描述的水平对候选进行评分,然后排序。
何时跳过 Jev
当答案需要是散文时,或者当输入是图像时,或者当逻辑是确定性的时。精确规则?正则表达式或数据库查找胜过任何模型。在编码之前想试试,Jev Lab 在浏览器中对实时调用运行其中几种模式。
如何在 OpenRouter 上访问 Jev
你需要一个 OpenRouter API 密钥 和一个模型 ID:typesafe/jev-1.13(固定)或 ~typesafe/jev-latest(跟踪最新版本的别名)。同一个调用可以用三种不同的方式进行:使用 OpenRouter SDK、TypeSafe SDK 或原始 HTTP。
使用 OpenRouter SDK 的 Decisions API
下面的代码显示了与置信度部分中更混乱的工单中相同的调用:通过 OpenRouter TypeScript SDK 的 alpha.decisions 进行 POST https://openrouter.ai/api/alpha/decisions 调用。该代码已使用通过 npm install @openrouter/sdk 安装的 SDK 1.3.11 进行了测试。由于顶层的 await,请使用 bun run 或作为 ES 模块运行它。开始吧:
import { OpenRouter } from '@openrouter/sdk';
const openrouter = new OpenRouter({ apiKey: process.env.OPENROUTER_API_KEY });
const decision = await openrouter.alpha.decisions.create({
decisionsRequest: {
model: 'typesafe/jev-1.13',
state: 'I upgraded to Pro yesterday but the dashboard still says Free and I got charged. Which one is it?',
questions: {
team: {
type: 'choice',
instructions: 'Which team should handle this ticket?',
criteria: {
billing: 'Charges, invoices, and refunds',
technical: 'Bugs, outages, and broken features',
account: 'Login, password, and profile changes',
},
},
},
},
});
const team = decision.answers.team;
if (team.type === 'choice') {
console.log(team.choice, team.probabilities, team.confidence);
}billing { account: 0.01, technical: 0.15, billing: 0.84 } 0.77请注意,这里的数字与之前在同一工单上的运行不同(0.79 和 0.69)。Jev 的概率在每次调用之间会有些变化,因此最好在区间上设置阈值,而不是精确值。最后,请注意 OpenRouter SDK 返回的 decision.usage.inputTokens 和 decision.usage.outputTokens 是 camelCase 格式,而不是原始 API 的 input_tokens 和 output_tokens。
指向 OpenRouter 的 TypeSafe JavaScript SDK
第二种调用路径是 TypeSafe SDK:将 SDK 的 base URL 指向 OpenRouter,并将你的 OpenRouter API 密钥作为 API 密钥传入。SDK 会将 /v1/systemone 附加到 base URL。像 jev-1.13 这样的裸模型名称映射到 typesafe/jev-1.13。下面的代码是使用 @typesafe-ai/sdk 对 Jev 的相同调用;该代码已使用 SDK 0.6.0 进行了测试:
import { TypeSafeClient } from '@typesafe-ai/sdk';
const client = new TypeSafeClient({
apiKey: process.env.OPENROUTER_API_KEY,
baseURL: 'https://openrouter.ai/api',
});
const result = await client.systemOne({
model: 'jev-1.13',
state: 'Export to CSV fails with a 500 error for every workspace in our org since this morning. We can still download JSON exports, but our finance team can only import CSV.',
questions: {
severity: {
type: 'score',
instructions: 'How severe is this bug report?',
criteria: [
'Cosmetic; no impact to functionality',
'Broken or degraded feature, but a workaround exists',
'Blocking issue; no workaround exists',
],
},
},
});
console.log(result.answers.severity);{
type: "score",
score: 1.19,
legend: {
"0": "Cosmetic; no impact to functionality",
"1": "Broken or degraded feature, but a workaround exists",
"2": "Blocking issue; no workaround exists",
},
probabilities: {
"0": 0,
"1": 0.81,
"2": 0.19,
},
confidence: 0.72,
}指向 OpenRouter 的 TypeSafe Python SDK
在 Python 中实现同样的思路,使用 typesafe-sdk 0.7.1(pip install typesafe-sdk):
import os
from typesafe_sdk import TypeSafeClient
client = TypeSafeClient(
api_key=os.environ["OPENROUTER_API_KEY"],
base_url="https://openrouter.ai/api",
)
result = client.system_one(
model="jev-1.13",
state="There are two charges on my card this month. If one of them is a mistake, what are my options?",
questions={
"refund": {"type": "noul", "instructions": "Is the customer asking for money back?"}
},
)
print(result.answers["refund"])type='noul' noul=0.49将你的 OpenRouter 密钥安全妥善地保存在服务器端。TypeSafe SDK 指南中有关于别名映射、响应封装和错误处理的详细信息。
Jev 定价与上下文窗口
来自 2026 年 9 月 21 日的OpenRouter 模型页面:
| OpenRouter 上的 Jev 1.13 | |
|---|---|
| 输入价格 | 每百万 token 0.042 美元 |
| 输出价格 | $0 |
| 上下文窗口 | 32,000 个 token |
| 模态 | 输入文本,输出决策 |
| 提供商 | TypeSafe |
总结一下:上面那个三问题工单调用使用了 447 个输入 token,花费 0.000019 美元(约千分之二美分)。一百万条这种规模的工单大约花费 19 美元。输出是免费的,而且答案很小(上面每次调用都在 17 到 69 个 token 之间)。由于 probabilities 内部的键顺序在调用之间会变化,我建议你按名称而不是按位置来索引条目。
OpenRouter 列出的是 32k 上下文窗口。TypeSafe 的模型页面列出每个请求总计 64k token,其中 32k 用于你的 state 加上最长的问题。
Jev 是开源的吗?
快速问一下:Jev 是专有的吗?答案很明显(是的),但让我解释一下。TypeSafe 尚未发布 Jev 的权重或关于 Jev 的论文,而且每个想使用 Jev 的人都调用同一个托管模型。
试一试
现在是时候用你自己的 OpenRouter API 密钥来亲自体验这一切了!获取它,粘贴上面的某个 curl 命令,然后把 state 改成来自你自己系统的真实消息。
- 如果你更愿意使用 TypeSafe 的客户端,请阅读TypeSafe SDK 指南。
- 了解如何用 Jev 对工具调用进行门控,在智能体操作前放置一个 Noul。
- 阅读Jev 与 LLM:何时使用哪一个以了解基准测试,以及先路由后写入的模式。
- 按照如何使用 Jev 用 TypeScript 构建完整的审核流水线,在一个请求中包含 Choice、Score 和 Noul 问题。
- 查看 Jev 在Jev 在分类任务上是否与前沿模型一样准确?中与前沿模型的对比得分,以及在Jev 与 LLM 作为评判者中它与评判模型相比所处的位置。
- Jev 文档中心列出了 OpenRouter 上的所有 Jev 指南和 cookbook。
- 在制定预算之前,请查看模型页面,了解该模型当前的定价情况!
常见问题
什么是 Jev?
Jev 是 TypeSafe 打造的决策模型。你与大多数模型交互的方式是向它们发送文本。而使用 Jev 时,你不仅仅做这件事。相反,你向它发送文本以及一个或多个带类型的问题,返回的答案就是带类型且带有校准概率的答案。没有文本生成。TypeSafe 将这类模型称为 System One 模型。
Jev 是谁开发的?
Jev 是一个决策模型。它由 TypeSafe 打造,这是一家由 Diogo Almeida、Erik Gafni 和 Sasha Sheng 创立的人工智能实验室。Jev 于 2026 年 9 月 15 日以抢先体验形式发布。目前最新版本是 Jev 1.13。你可以通过 TypeSafe 自己的 API 或通过 OpenRouter 获取它。
Jev 是 LLM 吗?
不是。Jev 是一个非生成式决策模型,而 LLM 是生成式模型:Jev 像 LLM 一样读取你的自然语言,但之后不生成任何文本、任何 token。根据你的问题,Jev 返回三种答案形态之一:要么是在一组预先确定的选项中选择一个,要么是在一组定义好的等级上给出分数,要么是给出是相对于否的概率。因为没有生成的文本,所以无需解析,也不存在输出幻觉的可能。
Jev 用于什么?
好,那么你得决定哪个支持工单应该被路由到哪个团队。你得把这篇博客文章归类到一个内容类型。你想根据置信度阈值来限制 AI 代理的工具调用。你得对一组候选进行排序。而且你得对照策略验证一份草稿。听起来很熟悉吧?在这些情况下,以前你都是先向 LLM 提问,然后用正则表达式解析出一个布尔值或枚举值。来认识一下 Jev,这个专为这类决策而构建的模型,取代了 LLM 加正则表达式的工作流程。
我如何访问 Jev?
所以你想通过 OpenRouter 访问 Jev?那么你只需要一个 OpenRouter API 密钥,并向以下 URL 发送 POST 请求:https://openrouter.ai/api/alpha/decisions,模型为 typesafe/jev-1.13。或者,你可以使用 OpenRouter SDK 中的 decisions 客户端。你甚至可以使用 TypeSafe 的 JavaScript 和 Python SDK。只需将基础 URL 设置为 https://openrouter.ai/api 并传入你的 OpenRouter 密钥。
Jev 的费用是多少?
目前,截至 2026 年 9 月 21 日,OpenRouter 上的 Jev 1.13 每百万输入 token 收费 0.042 美元(输出完全免费)。这意味着对一个简短支持工单进行典型的三问题调用大约使用 450 个输入 token,花费大约千分之二美分。所以请务必查看模型页面以了解当前定价。
Jev 是开源的吗?
不是。Jev 是一个专有模型,因此没有公开的权重,也没有论文。不过,你可以通过 TypeSafe API 或 OpenRouter 调用它。
来源:OpenRouter:Announcements(RSS) · openrouter.ai