JEV TYPESCRIPT 接入指南
Jev TypeScript SDK 完整教程
在 TypeScript 服务端通过 AI SDK evaluate 调用 TypeSafe Jev,并在业务代码执行前校验 Choice 类型化结果。
1. 安装服务端依赖
在服务端路由、Worker 或后端进程中使用 AI SDK 与 Gateway provider,不要把 Gateway 凭据放进浏览器 JavaScript。
npm install ai @ai-sdk/gateway
# Keep this in a server-only environment.
export AI_GATEWAY_API_KEY="your-key" 2. 发送一个 Choice 问题
先从一个边界明确的决策开始,并给出容易区分的 criteria。模型只负责从键名中选择,后续动作仍由代码控制。
import { gateway } from '@ai-sdk/gateway';
import { experimental_evaluate as evaluate } from 'ai';
const result = await evaluate({
model: gateway.evaluationModel('typesafe-ai/jev'),
state: { message: 'Checkout returns HTTP 500.' },
questions: {
route: {
type: 'choice',
instructions: 'Which team should handle this?',
criteria: {
billing: 'Payments, invoices, or subscriptions',
technical: 'Bugs, APIs, or integrations',
human: 'Ambiguous or sensitive cases',
},
},
},
}); 3. 分支前校验答案
确认胜出键属于原始选项,检查概率分布与置信度;响应不完整时应明确失败,不能静默选择默认值。
const allowed = new Set(['billing', 'technical', 'human']);
const answer = result.answers.route;
if (!answer || !allowed.has(answer.choice)) {
throw new Error('Invalid Jev response');
}
if (answer.confidence < REVIEW_THRESHOLD) {
await enqueueHumanReview(answer);
} else {
await suggestRoute(answer.choice);
} 4. 加上运行保护
evaluate 目前仍是实验性接口,应锁定 AI SDK 精确版本并在升级前检查发布说明。同时配置超时,处理限流和过载,记录模型与问题版本,并把高风险或不确定结果交给人工。