Vitest Evals
最后更新 查看 Markdown 源文件
快速开始
将 vitest-evals 设置蓝图添加到现有 Flue 项目:
flue add tooling vitest-evals
蓝图指导你的编码智能体安装测试依赖项、创建专用评估配置、将 Flue 的公共 SDK 适配为 vitest-evals 测试工具,并为应用已定义的行为编写起始案例。
概述
vitest-evals 为 Vitest 添加评估测试工具、评判器、标准化报告和 CI 报告。Flue 集成评估已部署应用使用的相同公共 HTTP 边界,而不是导入 Flue 运行时内部。
生成的测试工具:
- 通过
@flue/sdk(createFlueClient({ url }))提示挂载的智能体对话; - 为每个评估案例提供新的对话 ID;
- 使用其服务器提供的偏移和提交 ID 捕获提示的事件序列;
- 在标准化评估结果中记录响应文本、模型使用量、成本和工具调用;
- 通过
FLUE_BASE_URL支持本地服务器和已部署的应用。
蓝图不会自动挂载智能体。在通过 HTTP 评估之前,请确认 app.ts 使用 createAgentRouter(...) 挂载了智能体,并且其身份验证中间件是适当的。
运行评估
在一个终端中启动 Flue 应用:
pnpm exec vite dev
服务器就绪后,在另一个终端中运行评估:
pnpm run evals
服务器进程需要应用的正常模型提供商凭证。要评估部署,请设置其基础 URL:
FLUE_BASE_URL=https://preview.example.com pnpm run evals
当目标受保护时,在 SDK 客户端中配置令牌或请求头。永远不要提交提供商或应用凭证。
报告
蓝图添加了紧凑终端输出、详细工具和使用输出以及 JSON 工件的命令。在本地打开 JSON 报告:
pnpm exec vitest-evals serve vitest-results.json
相同的工件可以由 getsentry/vitest-evals GitHub Action 发布。报告可能包含提示、输出、工具参数和结果、错误以及应用元数据;在上传之前审查保留和访问要求。
vitest-evals 不包含 Braintrust 报告器。Flue 的 Braintrust 集成可以独立跟踪应用执行,但这些跟踪不替代评估案例、断言、评判器或 CI 门控。
后续步骤
有关设计案例、选择确定性断言或评判器以及理解测试工具,请参阅评估。完整可运行的项目可在 examples/vitest-evals 中找到。