jev 在 vercel ai gateway 中的模型 id 是 typesafe-ai/jev,它不支持普通的聊天补全调用,得用 ai sdk 里的 experimental_evaluate 接口才能正常发起请求。
Vercel 用户要顺利接入它,核心要抓三个关键点:环境变量配置、调用代码放在服务端、摸清楚模型的能力边界。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

这张图截自 Vercel AI Gateway 的 Jev 模型官方页面,咱们这篇讲的是 Vercel 用户接入 Jev 的完整配置流程,这张图只用来标注模型入口,不是具体的业务操作步骤演示。
为什么在模型列表里看见 Jev 还不能直接替换
不少 Vercel 用户刚在 AI Gateway 的模型列表里刷到 Jev,第一反应就是把现有代码里的聊天模型 ID 直接换成 typesafe-ai/jev 凑合用。
这么做大概率会出问题,Jev 本身不返回自然聊天文本,输出的全是结构化的判断结果,它的正确用法是放在内容分类、请求路由、参数校验或者风控拦截这类节点里。
AI Gateway 接入的工作方式
Vercel 官方的模型示例里,就是用 experimental_evaluate 接口,传入 model、state、questions 这几个核心参数。
AI Gateway 会帮你搞定统一鉴权、多厂商入口适配、调用计费统计这些通用环节,Jev 本身只负责处理你传入的结构化判断问题。别偷懒把模型输出当成最终判定结果,权限校验、后续动作执行、异常兜底这些逻辑,还是得你自己在业务代码里写全。
AI Gateway 配置步骤
- 创建密钥:在 Vercel 控制台里给 AI Gateway 生成一个专门的服务端 API 密钥。
- 写入环境变量:把 AI_GATEWAY_API_KEY 加到项目的环境变量配置里,千万别把密钥明文提交到 Git 仓库。
- 升级 AI SDK:确认你用的 AI SDK 版本已经内置支持 experimental_evaluate 接口。
- 服务端调用:把 evaluate 的调用逻辑放在 Route Handler、Server Action 或者后端服务里,不能暴露到前端。
- 加入兜底:万一 AI 网关调用失败,直接返回待人工审核的提示,绝对不能跳过判断直接执行高危操作。
Gateway 接入与直连的选择
| 配置项 | AI Gateway | 直连 TypeSafe |
|---|---|---|
| 模型 ID | typesafe-ai/jev | 按 TypeSafe 文档选择 |
| 密钥 | AI_GATEWAY_API_KEY | TYPESAFE_API_KEY |
| 适合团队 | Vercel 项目统一管理 | 已有独立模型平台治理 |
部署到 Vercel 前的配置核对
Vercel 项目里生产、预览、本地开发三套环境的环境变量要分开单独配,尤其预览环境很多团队会把测试链接外发给测试人员,要是密钥不小心写到客户端打包文件里,任何人打开浏览器开发者工具就能直接看到。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
接入完成后,可以去 Vercel 的函数日志里查看每次调用的耗时和报错信息,Jev 这类判断类请求本来就该全链路跑在后端,要是你在浏览器 Network 面板里看到浏览器直接请求 AI 网关,肯定是调用位置放错了。
- 只在服务端代码里读取 AI_GATEWAY_API_KEY,前端绝对碰不到这个变量。
- Route Handler 只返回处理后的业务结果,别把模型调用的原始错误直接抛给普通访客。
- 不同运行环境使用独立密钥,后续排查问题、吊销泄露密钥都更方便。
排查配置错误的顺序
要是接口调用不通,按优先级排查:先确认环境变量在当前部署环境里确实生效了,再核对 AI SDK 的版本,最后检查调用方式对不对。大部分时候不是模型本身用不了,是你把 Jev 当成普通聊天模型调了,入参格式、返回字段全不匹配,肯定跑不通。
Vercel 预览环境最容易踩坑:本地 .env.local 里配置好能跑,不代表预览部署环境里也同步加了变量。每次新建环境或者新项目接入,最好先写个最小测试样例调用一次 evaluate,把结果打在服务端日志里,先确认整个网关链路是通的再往下走。
要是你的项目里已经接了好几个不同的 AI 模型,建议单独抽一层封装 Jev 的 evaluation 服务,后续要改模型 ID、加日志字段、调整判断问题的版本,都不会影响现有聊天、摘要生成、图片生成这些老接口。
另外团队内部的配置文档最好明确标注:谁有权限改环境变量、谁能查看调用日志、谁负责回滚模型版本,很多线上故障根本不是代码写错了,是密钥权限、发布流程没管理到位。
Next.js Route Handler 示例
import { experimental_evaluate as evaluate } from 'ai';
export async function POST(request) {
const { text } = await request.json();
const result = await evaluate({
model: 'typesafe-ai/jev',
state: text,
questions: {
topic: {
type: 'choice',
instructions: 'Which product area does this request belong to?',
criteria: {
billing: 'payments, invoices, refunds',
technical: 'bugs, outages, integration errors',
sales: 'pricing, demo, purchase intent',
other: 'anything else',
},
},
},
});
return Response.json(result.answers.topic);
}
配置常见问题
- 把 AI_GATEWAY_API_KEY 暴露到客户端,会直接造成密钥泄露,所有人都能盗用你的调用配额。
- 旧版 AI SDK 没有 evaluate API,直接升级到支持的版本就能解决。
- 不要给 Jev 传 temperature、maxTokens 这类聊天模型专属参数,传了也没用还可能触发报错。
- 之前适配普通聊天接口的代码不能直接复用到 evaluation 调用,两边的入参出参逻辑完全不一样。
配置完成后的检查清单
验收的时候按这个流程走:先确认环境变量只能在服务端读取、模型 ID 填的是 typesafe-ai/jev、返回值是从 answers 字段里取的,再分别用一个明确分类的样本、一个边界模糊的样本做测试,确认模糊判断的结果会自动走兜底流程。运行环境要统一要求 Node.js 20+、AI SDK 7.0.105+,AI_GATEWAY_API_KEY 全程只在服务端读取。
写相关业务代码的时候,一定要把调用逻辑限制在 Route Handler、Server Action 或者独立后端服务里,绝对不能把网关密钥写进任何浏览器端能加载的代码里。










