跳至内容

测试脚本

可以在script函数中声明tests来验证脚本的输出。

声明测试

测试用例以对象数组的形式添加到script函数的tests键中。

proofreader.genai.mjs
script({
...,
tests: {
files: "src/rag/testcode.ts",
rubrics: "is a report with a list of issues",
facts: `The report says that the input string
should be validated before use.`,
}
})

指定模型

您还可以指定一组模型(以及模型别名)来运行测试。每个测试都会针对每个模型运行。

proofreader.genai.mjs
script({
...,
testModels: [
"azure_ai_inference:gpt-4o",
"azure_ai_inference:gpt-4o-mini",
"azure_ai_inference:deepseek-r1",
],
})

testModels 也可以通过命令行进行覆盖。

运行测试

Visual Studio Code

  • 打开 Test Explorer 视图
  • 在树形结构中选择您的脚本,然后点击play图标按钮。
Visual Studio Test Explorer opened with a few genaiscript tests.

命令行

从工作区根目录运行此命令。

终端窗口
npx genaiscript test proofreader

已知限制

目前,promptfoo将脚本源代码视为提示文本。因此,无法使用也依赖于输入文本的断言,例如answer_relevance

  • 在参考文档中了解更多关于tests的信息。

下一步

Automate 使用命令行界面(CLI)自动执行脚本。