跳转到内容
原创教程官方文档整理

Promptfoo CSV 回归评测:用本地结果文件先跑通检查链路

可本地操作的评测包,以及替换真实保存结果的明确边界。

适用场景用 __expected 精确断言与本地 JavaScript provider 比较保存结果,故意放一条错误验证报告;无需大模型评审,附完整练习包。

来源 · JevLog 编辑部Intermediate15 分钟

用 __expected 精确断言与本地 JavaScript provider 比较保存结果,故意放一条错误验证报告;无需大模型评审,附完整练习包。

来源 · JevLog 编辑部 · 本站原创

原文封面 · Promptfoo

原文封面 · Promptfoo

2026-10-02 新增:依据当前官方文档整理,附本站编写练习。未做真实服务调用;来源首次发布日期未确认。

改分类规则后要能发现旧样例变坏。评测 provider 如果直接返回预期答案会假通过,所以预期 CSV 与预测 JSON 必须独立保存。此包只核对虚构结果,没有接入 Jev。

  • 安装 Node.js 与 Promptfoo,下载 promptfoo-local-regression.zip 解压到新目录。

  • 示例使用 equals 断言,不调用 LLM 评审。首次安装需联网,provider 运行只读文件。

  • 官方文档

  • 官方文档

JevLog 原创流程图,非产品截图或实测结果。

JevLog 原创流程图,非产品截图或实测结果。

cases.csv 有 case_id、text、__expected。__expected 使用 equals: 指定精确标签。三条里 c03 的预测故意错误,用来验证报告会报错。不要修改预期来迁就预测。

case_id,text,__expected
c01,Download crashes,equals:bug
c02,Please explain a setting,equals:question
c03,Thanks for your help,equals:other

只按 case_id 读取 results.json,不读取 __expected;缺 ID 返回 error,不能空字符串假装分类完成。文件名 provider.cjs 保持 CommonJS 格式。

const fs = require('node:fs');
const path = require('node:path');
module.exports = class SavedResults {
id() { return 'saved-results-fixture'; }
async callApi(prompt, context) {
const results = JSON.parse(fs.readFileSync(path.join(__dirname, 'results.json'), 'utf8'));
const id = context?.vars?.case_id;
if (!Object.prototype.hasOwnProperty.call(results, id)) return {error: 'Missing result: ' + id};
return {output: results[id], metadata: {mode: 'fictional-local-fixture'}};
}
};

配置与 provider.cjs、cases.csv 同目录,运行 npx promptfoo eval -c promptfooconfig.yaml,再 npx promptfoo view。下载包已有完整文件,本站没有运行模型评测。

description: Local saved-output regression fixture
prompts:
- '{{text}}'
providers:
- file://provider.cjs
tests: file://cases.csv

results.json 把 c03 写成 question,应与 other 不一致。三条全过就检查读的 CSV、配置和 provider。两对一错只是虚构样例设计,不是 Jev 准确率。

自己标注输入并脱敏,再通过真实调用另生成预测文件。保存模型版本、问题版本、输入哈希和错误;缺结果计失败。confidence 与复核量另算,不让文本评审掩盖基础标签错误。

练习样例:下载 promptfoo-local-regression.zip,可在本地练习;非本站实测结果。

可本地操作的评测包,以及替换真实保存结果的明确边界。

  • 旧预测、缓存和不同版本会影响比较,要记录本次文件版本。
  • c03 的故意失败被报告,缺 ID 是错误。
  • 预期和预测独立,报告不伪装成模型跑分。

来源边界:依据所列公开来源整理;本站未复现演示。分类结果需人工复核,不会自动执行。

没有。它只核对虚构保存结果;真实集成需要另生成预测,保留调用错误和版本。