JEV TYPESCRIPT 接入指南

Jev TypeScript SDK 完整教程

在 TypeScript 服务端通过 AI SDK evaluate 调用 TypeSafe Jev,并在业务代码执行前校验 Choice 类型化结果。

更新于 2026-09-238–12 min
01

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"
02

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',
      },
    },
  },
});
03

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);
}
04

4. 加上运行保护

evaluate 目前仍是实验性接口,应锁定 AI SDK 精确版本并在升级前检查发布说明。同时配置超时,处理限流和过载,记录模型与问题版本,并把高风险或不确定结果交给人工。