跳转到内容

输入关键词开始搜索文档。

Jetty

最后更新 查看 Markdown 源文件

快速开始

在现有 Flue 项目中安装 Jetty TypeScript SDK:

pnpm add @jetty/sdk

Jetty 不使用 flue add 蓝图。请遵循 Jetty 的 Flue 集成指南 创建并部署评估运行手册,然后从工作流脚本中调用 SDK。

概述

Jetty 可以评估 Flue 智能体产生的输出,并将评估任务存储为轨迹。该轨迹上的标签可以记录分数、通过/失败结果、评估配置以及你想要跨版本比较的其他维度。

以下 Node.js 脚本在进程内启动 Flue 运行时,提示其智能体,将回复发送到单独配置的 Jetty 评估器,并打印评估结果及其 Jetty 轨迹 ID:

scripts/evaluate-triage.ts
import { init } from '@flue/runtime';
import { start } from '@flue/runtime/node';
import { gradeWithJetty, JettyClient } from '@jetty/sdk';
import { Triage } from '../src/agents/triage.ts';

interface TriageGrade {
  total: number;
  pass: boolean;
}

const ticket = process.argv[2] ?? 'Summarize this support request.';
const jetty = new JettyClient();

await using flue = await start({ agents: [Triage] });

const agent = init(Triage, { id: `evaluate-${Date.now()}` });
const receipt = await agent.dispatch(ticket);
const reply = await agent.read(receipt);

const { grade, trajectoryId } = await gradeWithJetty<TriageGrade>(
  jetty,
  process.env.JETTY_COLLECTION!,
  process.env.JETTY_GRADE_TASK!,
  {
    files: [
      {
        filename: 'case.json',
        data: JSON.stringify({ ticket, response: reply.text }),
      },
    ],
    useTrialKeys: process.env.JETTY_USE_TRIAL_KEYS === 'true',
    labels: (result) => ({
      'eval.grade': String(result.total),
      'eval.pass': String(result.pass),
    }),
  },
);

console.log(JSON.stringify({ grade, trajectoryId }, null, 2));

评估运行手册必须产生 gradeWithJetty(...) 期望的 grade.json 文件。保持评估器与被评估的智能体分开,以便更改智能体不会默默更改其评分标准。

配置

变量用途
JETTY_API_TOKEN必需 - 认证 Jetty SDK。SDK 也可以读取 ~/.config/jetty/token。
JETTY_COLLECTION必需 - 标识拥有评估任务的集合。
JETTY_GRADE_TASK必需 - 标识已部署的评估任务。
JETTY_USE_TRIAL_KEYS可选 - 设置为 true 以使用 Jetty 的试用模型密钥进行评估任务。

Flue 智能体仍然需要模型提供商凭证,这些凭证来自进程环境。Jetty 凭证配置单独的评估操作。

@jetty/sdk 和 start() 都需要 Node.js。要评估已部署的智能体(包括 Cloudflare 目标上的智能体),请使用 Agent SDK 通过 HTTP 提示它,并从任何 Node.js 进程将回复传递给相同的 gradeWithJetty(...) 调用。

保护敏感内容

Jetty 轨迹可以持久化用于评估的文件、步骤输入和输出。在将智能体输出发送到 Jetty 之前,请编辑凭证、个人信息和其他敏感内容。使用 Jetty 的密钥参数存储评估运行手册所需的凭证,而不是将它们包含在持久化的初始化参数或上传文件中。

在评估生产内容之前,请审查 Jetty 的保留、访问、隐私和合规控制。

验证

按照 Jetty 的集成指南部署评估运行手册,配置所需的环境变量,并运行脚本:

node scripts/evaluate-triage.ts "Summarize this support request."

确认脚本打印预期的评估结果和轨迹 ID,然后在 Jetty 中检查轨迹以验证其标签和捕获的内容。

后续步骤

有关选择案例、确定性断言和基于模型的评判器,请参阅评估, 有关此处使用的脚本表面(从 flue run 一次性运行到持久化编排),请参阅工作流。Flue 的 Vitest Evals 集成提供了通过 Vitest 运行断言和评判器的替代方案,而 Jetty 将每个评估任务存储为可比较的轨迹。