jev不属于对话类大模型,它的逻辑是输入同一段状态数据(state),按照你预先定义好的结构化问题,直接返回选项、分值或者布尔类型的判断结果。
刚上手的新手不用搞复杂,先借着Vercel AI Gateway提供的typesafe-ai/jev模型跑通一个退款判断的最小接口,后面再慢慢加路由规则和评分逻辑就行。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

这张图截取自Vercel AI Gateway的Jev模型官方页面,咱们这篇是零基础5分钟跑通第一个Jev接口的入门教程,放这张图只是给大家指一下模型的官方入口,不是实际业务操作的步骤截图。
新手第一次接入要先弄清什么
很多人刚接触会下意识把Jev当成普通对话大模型来用,直接往里面套messages、temperature、maxTokens这类常规聊天补全的参数,最后跑起来接口逻辑完全对不上。
去Vercel的模型详情页就能看到,Jev要走experimental_evaluate方法调用,核心参数只有三个:模型标识、状态数据state、自定义问题questions。
这篇入门教程咱们就聚焦一件事:用最少的代码,让接口返回一个能直接用来做业务分支的判断结果。
Jev 接口为什么不是聊天补全
Jev的定位是TypeSafe AI推出的System One评估模型,主打快速生成结构化决策结果。它会读取你传入的共享状态数据,完全按照你提前定义的问题返回对应的概率、选项或者评分。
最终业务代码要执行什么操作,完全由你自己的应用逻辑控制,好处是返回结果稳定性高、调用成本低,特别适合放在路由分发、内容审核、工单分流、安全校验这类需要做控制判断的节点上。
5 分钟跑通第一个判断接口
- 准备密钥:在Vercel AI Gateway后台创建API密钥,只能存到服务端的.env.local文件里,不能外泄。
- 安装依赖:项目使用7.0.105或更高版本的AI SDK,旧版本没有封装evaluate相关API,跑不起来。
- 写state:刚开始测试就用一句简单文本就行,比如“客服已经给用户全额退款”。
- 写question:先定义布尔类型的问题“是否已经完成退款”,别一开始就塞太多杂糅的需求。
- 读取答案:根据result.answers.refunded返回的概率值,决定后续要不要进入退款复核流程。
直连 Jev 与 AI Gateway 怎么选
| 方式 | 适合情况 | 注意点 |
|---|---|---|
| Vercel AI Gateway | 已经在Vercel部署,想统一所有模型调用入口 | 模型ID直接用typesafe-ai/jev |
| TypeSafe 直连 | 已经有成熟的TypeSafe API管理流程 | 按照官方规范管理API密钥和版本迭代 |
| 本地模拟 | 还没有拿到密钥的时候先写业务分支逻辑 | 只能用来验证代码结构,不能代表实际模型返回效果 |
本地调试时建议这样看返回值
第一次把接口跑通先别急着对接业务库,先把evaluate的完整返回内容打印到服务端日志里,重点确认answers.refunded里有没有正常返回可判断的结果和概率信息,之后再写逻辑决定页面要显示“已退款”“待确认”还是“转人工”。
更推荐新手提前准备三条测试样本:一句明确说明已经退款、一句明确说明还没退款、一句只写“客服答应处理”。前两条用来验证接口调用正常,第三条专门测试模糊场景的兜底逻辑。如果这种模棱两可的内容也被直接判定为退款完成,说明你写的问题规则太宽松了,得调整。
- 测试样本尽量简短,先把字段返回逻辑跑通,再去对接复杂业务场景。
- 模糊判定的结果,不要直接自动执行退款、发货、账号封禁这类高风险操作。
- 每次修改问题的规则说明之后,都要用同一组测试样本重新跑一遍全流程。
接口跑通后的下一步扩展
确认布尔类型的判断逻辑跑通之后,可以再加一个选择题类型的问题,让同一段state同时输出“下一步该走什么流程”的判断。
比如refunded为真的时候直接进订单备注流程,refunded为假同时识别到用户在催单的时候,就自动把工单推进售后队列。
到这就能体会到Jev的核心价值了:它不只是返回简单的真假值,而是能把零散的自然语言文本,直接转换成可以编排的标准业务状态。
如果你打算把这个接口的结果交给前端调用,前端页面只能展示业务化处理后的字段,比如status、action、message这类,别直接把模型返回的原始概率露出来。概率数据留给服务端日志和后台审核人员看就行,普通用户看到反而会摸不着头脑。
最小可运行服务端示例
import { experimental_evaluate as evaluate } from 'ai';
export async function POST() {
const result = await evaluate({
model: 'typesafe-ai/jev',
state: 'The support agent issued a full refund to the customer.',
questions: {
refunded: {
type: 'boolean',
instructions: 'Was a refund issued?',
},
},
});
return Response.json({
refunded: result.answers.refunded,
});
}
新手最容易踩的坑
- 把Jev塞进generateText或者streamText方法里调用,两边接口类型完全不匹配,肯定跑不通。
- 把API key写进前端页面,直接造成密钥泄露,产生不必要的额外账单。
- state内容写得过长,会让判断速度变慢,调用成本也跟着上升。
- 只看返回的true/false就直接执行业务,完全不看概率,很容易漏掉需要人工复核的模糊场景。
跑通后怎么验收
第一次验收别贪多,就盯三个点:接口能正常返回answers字段、布尔类型的问题能拿到对应的概率值、调用失败时能触发预设的安全兜底逻辑。这三点跑通之后再去扩展choice和score类型的问题,别一开始就把所有业务规则全塞进去。验收环境建议固定用Node.js 20+、AI SDK 7.0.105+,服务端配置好AI_GATEWAY_API_KEY环境变量。
写相关调用代码的时候,一定要把Jev的调用逻辑放在Route Handler、Server Action或者独立后端服务里,绝对不能把网关密钥暴露给浏览器端代码。











