Promptfoo

持续集成与CLI驱动的大语言模型提示词质量与安全红队评测工具

访问官网

官网预览
Promptfoo

工具详解

Promptfoo 大模型提示词评测工具:功能、场景与上手指南

Promptfoo 是一款开源的大语言模型(LLM)提示词评测与红队测试工具,以命令行(CLI)为核心交互方式,支持通过 YAML 配置文件定义评测用例,对模型输出进行自动化断言检查。

其设计目标是将提示词质量验证纳入持续集成流程,让团队在每次修改提示词或切换模型时,都能快速发现回归问题、评估安全边界,从而降低上线风险。

Promptfoo是什么

Promptfoo 定位为大语言模型的提示词质量与安全评测框架。用户通过编写 YAML 格式的配置文件,定义输入提示词、期望输出以及断言规则,工具会自动调用目标模型并比对结果。

官网显示,该工具支持多种主流 LLM 提供商的 API 接入,也支持本地模型部署。评测结果可通过命令行表格或内置 Web UI 查看,便于团队共享与审查。

核心功能与特点

多模型对比:同一组提示词可并行发送给不同模型,输出结果并排展示,方便选择最优方案。

断言体系:内置多种断言类型,包括精确匹配、包含检查、正则匹配、LLM 评分(用另一个模型做裁判)以及自定义 JavaScript 断言,覆盖从格式校验到语义判断的多种需求。

红队测试:支持生成对抗性输入,检测模型在安全边界上的表现,帮助识别潜在的越狱或有害输出。

CI/CD 集成:评测脚本可直接嵌入 GitHub Actions 等流水线,在代码合并前自动运行回归测试。

适合哪些人使用

提示词工程师与 AI 应用开发者:需要频繁迭代提示词、验证输出稳定性的团队。

QA 与测试工程师:希望将 LLM 输出纳入自动化测试流程,减少人工抽检成本。

安全研究人员:关注模型安全边界,需要系统性红队测试的组织或个人。

技术管理者:需要可量化的评测报告来支撑模型选型或上线决策。

典型使用场景

提示词回归测试:修改提示词后,批量运行历史用例,确认输出未出现退化。

模型选型对比:将候选模型接入同一评测集,用统一指标横向比较准确率与安全性。

上线前安全审查:通过红队用例集检测模型是否存在越狱、信息泄露等风险。

持续监控:将评测任务定时执行,跟踪模型版本更新后的输出质量变化。

如何开始使用与注意事项

安装:通过 npm 全局安装 promptfoo 命令行工具,或直接在 CI 环境中调用 npx promptfoo。

配置:创建 YAML 文件,声明模型提供商、提示词模板、测试用例和断言规则,运行 promptfoo eval 即可启动评测。

注意事项:API 调用会产生费用,建议在 CI 中设置用例数量上限;LLM 评分断言依赖裁判模型,结果可能受裁判模型能力影响;红队测试生成的对抗样本应经过人工复核后再用于正式报告。

常见问题

Promptfoo 是免费的吗?

官网显示 Promptfoo 为开源项目,核心 CLI 功能可免费使用。部分高级功能或托管服务可能涉及付费,具体以官网定价页为准。

Promptfoo 支持哪些模型提供商?

支持 OpenAI、Anthropic、Google、Azure 等主流 API 提供商,也兼容本地部署的模型(如通过 Ollama 或自定义端点)。具体支持列表可查阅官方文档。

没有编程经验能用 Promptfoo 吗?

基础使用需要编写 YAML 配置文件,对语法有一定要求。自定义断言涉及 JavaScript,门槛稍高。建议至少具备基本命令行操作和 YAML 编写能力。