
Promptfoo
Promptfoo是专注于大语言模型Prompt质量评估与测试的开源工具,核心定位是帮助开发者降低LLM应用的落地风险,提升Prompt的稳定性与有效性
Promptfoo是专注于大语言模型Prompt质量评估与测试的开源工具,核心定位是帮助开发者降低LLM应用的落地风险,提升Prompt的稳定性与有效性。核心功能包括自定义测试用例创建、多维度评估指标配置、Web可视化结果对比,同时支持与现有测试流程、CI/CD pipeline无缝集成。目标用户覆盖LLM应用开发者、AI产品经理、Prompt工程师、算法测试人员等,可应用于对话机器人Prompt调优、RAG系统检索效果验证、AI生成内容合规性检测、多模型输出效果横向对比等多个场景,帮助用户在LLM应用迭代过程中快速定位Prompt的缺陷,减少线上异常问题的出现。
- 适用对象
- LLM应用开发者(对话机器人开发场景)
- 主要功能
- 测试用例创建、多维度指标评估
- 计费方式
- 付费
- 平台
- 网页
- 已收录
- 2026.06.14(142 天)
阅读目录
编辑评测与站内热度
编辑综合评分
满分 5 分
六维指标基于站内真实数据(热度、社区反馈、资料完整度、可达性核验等)综合评估,非用户投票。
全站热度排名
#1070
分类内排名
#2 / 54
累计站内点击
2
近 7 日点击
2
排名与点击为站内真实统计口径,反映 Toolifai 用户行为,非编辑评分。
Promptfoo是什么,怎么使用?
约 5 分钟Promptfoo是专注于大语言模型Prompt质量评估与测试的开源工具,核心定位是帮助开发者降低LLM应用的落地风险,提升Prompt的稳定性与有效性。核心功能包括自定义测试用例创建、多维度评估指标配置、Web可视化结果对比,同时支持与现有测试流程、CI/CD pipeline无缝集成。目标用户覆盖LLM应用开发者、AI产品经理、Prompt工程师、算法测试人员等,可应用于对话机器人Prompt调优、RAG系统检索效果验证、AI生成内容合规性检测、多模型输出效果横向对比等多个场景,帮助用户在LLM应用迭代过程中快速定位Prompt的缺陷,减少线上异常问题的出现。
主要功能
- 测试用例创建:用户可通过YAML、JSON或Python代码三种方式编写测试用例,既支持批量导入预设的输入输出样本,也支持按场景分类配置不同的测试分组。每个测试用例可关联对应的预期输出、合规要求、容错范围等规则,系统会自动将测试输入传入指定的Prompt与大语言模型,生成实际输出后与预设规则进行匹配,无需手动逐条验证,大幅提升测试效率。
- 多维度指标评估:平台内置精确匹配、语义相似度、事实一致性、有害内容检测、格式合规性等十余种评估指标,用户可根据自身测试需求自由组合选择。同时支持自定义评估函数,用户可编写Python或JavaScript代码实现专属的业务规则校验,例如特定行业的术语准确性、客服回复的话术标准等,满足不同场景的个性化评估需求。
- 跨模型对比测试:支持同时对接OpenAI、Anthropic、Google Gemini、开源本地大模型等多个主流大模型服务,用户只需在配置文件中填写对应的模型调用信息,即可一次性触发多个模型的同批测试用例运行。系统会自动统计不同模型在同一测试集上的各项指标得分,帮助用户筛选出适配自身业务场景的模型选型。
- Web可视化查看器:测试完成后系统会自动生成可视化报告页面,用户可通过Web Viewer直观查看每个测试用例的输入、Prompt、不同模型的输出、评估得分、失败原因等信息。支持按测试分组、得分区间、失败类型等维度筛选结果,还可并排对比同一输入下不同Prompt版本的输出差异,帮助用户快速定位Prompt的优化方向。
- CI/CD流程集成:提供标准化的命令行工具与GitHub Actions、GitLab CI等主流持续集成平台的适配模板,用户只需添加几行配置即可将Prompt测试集成到现有开发流程中。当团队更新Prompt版本时,系统会自动触发全量测试,若得分低于预设阈值则阻断合并流程,避免存在缺陷的Prompt上线影响用户体验。
- 批量迭代优化:支持同时导入多个Prompt版本进行批量测试,系统会自动统计每个版本在全量测试用例上的综合得分,输出量化的对比结果。用户可基于测试结果针对性调整Prompt的指令、示例、约束条件等内容,再次运行测试即可快速验证优化效果,实现Prompt的迭代闭环,提升调优效率。
怎么使用
- 第一步,在本地环境通过npm或pip安装promptfoo工具包,安装完成后在终端运行promptfoo init命令,按照引导选择对应的大模型服务商,填写API密钥等基础配置信息,初始化测试项目。第二步,在生成的promptfooconfig.yaml配置文件中,填写需要测试的Prompt内容,支持直接写Prompt文本或引用外部的Prompt文件,同时配置要对比的多个Prompt版本或多个大模型信息。第三步,编写测试用例,可在配置文件的tests字段下逐条添加输入内容与预期规则,也可导入CSV、JSON格式的批量测试数据集,根据测试需求选择对应的评估指标组合。第四步,在终端运行promptfoo eval命令,系统会自动调用大模型运行所有测试用例,根据配置的评估指标计算得分,过程中可实时查看测试进度,等待所有用例运行完成。第五步,运行promptfoo view命令启动本地Web服务,在浏览器打开生成的本地地址即可查看可视化测试报告,对比不同Prompt与模型的输出效果,导出测试数据用于后续优化。
适合什么人群
- LLM应用开发者(对话机器人开发场景)
- Prompt工程师(Prompt调优测试场景)
- AI产品经理(LLM功能效果验证场景)
- 算法测试人员(大模型输出质量检测场景)
- RAG系统研发人员(检索生成效果评估场景)
- AI内容运营(生成内容合规性校验场景)
总结
这是一款面向LLM应用落地全流程的Prompt测试工具,和普通的Prompt编写工具不同,它的核心价值在于将Prompt的效果从主观判断转化为可量化的客观指标,解决了很多团队在LLM应用开发中“不知道Prompt好不好、改了之后会不会出问题”的痛点。它的命令行使用方式对开发者十分友好,不需要复杂的界面操作就能快速集成到现有开发流程中,而Web可视化界面又能让非技术的产品、运营人员也能直观看到对比效果,降低了跨团队沟通的成本。目前已经被大量生产级LLM应用采用,覆盖了客服机器人、AI写作助手、RAG问答系统等多个场景,对于需要保证Prompt稳定性、减少线上异常的团队来说,是一个值得尝试的测试工具。它的开源属性也允许用户根据自身业务需求做二次定制,适配不同行业的特殊评估规则,相比SaaS类的测试工具灵活性更高,数据也能全部保留在本地,满足部分企业的数据安全要求。
价格与免费额度
Promptfoo核心工具库完全开源免费,无使用次数、测试用例数量、模型对接数量的限制,所有核心功能包括测试用例创建、多维度评估、Web查看器、CI集成等都可免费使用,适合个人开发者与中小团队直接使用。官方同时提供付费的企业级服务,价格根据团队规模与定制需求面议,企业版包含云端测试数据存储、团队协作权限管理、专属技术支持、自定义评估模板等功能,还可提供私有化部署服务,适合对数据协作、安全合规有更高要求的中大型企业团队。个人用户与小型团队使用免费版即可满足大部分测试需求,有跨团队协作、专属支持需求的企业可咨询官方获取企业版报价。
优点与不足
优点
- 支持对接几乎所有主流大模型服务,同时兼容本地部署的开源大模型,适配不同用户的模型使用需求
- 内置十多种通用评估指标,同时支持用户自定义评估函数,可满足不同行业的个性化测试规则
- 可无缝集成到GitHub Actions、GitLab CI等主流CI/CD流程,实现Prompt更新的自动测试校验
- 可视化报告支持多维度筛选与并排对比,能直观呈现不同Prompt和模型的效果差异,降低结果分析成本
- 完全开源免费,支持本地部署,所有测试数据都可保存在用户本地,满足数据安全相关要求
不足
- 初始配置需要编写YAML配置文件,对非技术用户有一定的使用门槛,需要学习基础的配置语法
- 免费版没有云端存储功能,测试报告需要用户自行保存,多团队协作共享测试结果不够便捷
- 暂不支持可视化拖拽搭建测试用例,批量测试用例需要提前整理为结构化的数据集,手动录入效率较低
- 自定义评估函数需要用户具备基础的代码编写能力,无编程基础的用户无法使用该功能
能帮你做的 8 件事
- 01测试用例创建
- 02多维度指标评估
- 03跨模型对比测试
- 04Web可视化查看器
- 05Prompt测试场景的常用方案
- 06LLM评估场景的常用方案
- 07LLM应用开发者(对话机器人开发场景)的日常效率工具
- 08在网页等多端直接使用
更新历史
- Promptfoo 收录进 Toolifai 目录
- 页面资料核验与信息更新
常见问题
Promptfoo支持对接哪些大模型?
Promptfoo支持对接目前市场上几乎所有主流大模型服务,包括OpenAI的GPT-3.5、GPT-4系列,Anthropic的Claude 2、Claude 3系列,Google的Gemini系列,Meta的Llama 2、Llama 3系列,字节的豆包系列,百度的文心一言系列,阿里的通义千问系列等。同时也支持用户通过API接口对接本地部署的开源大模型,只需要在配置文件中填写对应的模型调用地址、参数即可,用户也可以自定义模型调用的逻辑,适配小众的大模型服务,基本可以覆盖绝大多数用户的模型使用场景。
使用Promptfoo测试会泄露我的Prompt和测试数据吗?
Promptfoo的核心工具库是完全开源的,所有代码都可在开源仓库查看,默认情况下所有的测试逻辑都在用户本地环境运行,测试数据、Prompt内容、模型调用信息都只会保存在用户本地,不会上传到任何第三方服务器,只有当用户调用第三方大模型服务时,相关内容才会发送给对应的大模型服务商,用户可以自行选择符合自己数据安全要求的模型服务商。如果用户使用的是企业版私有化部署方案,所有数据也都会保存在企业自己的服务器上,官方不会获取任何用户的测试数据,能够满足大多数企业的数据安全合规要求。
我可以用Promptfoo测试RAG系统的效果吗?
完全可以,Promptfoo支持用户自定义预处理逻辑,你可以在测试流程中加入自己的RAG检索模块,将测试用例的输入先传入RAG系统获取相关上下文,再将上下文和输入一起拼接到Prompt中传给大模型,之后评估生成的回答是否准确。同时你也可以针对RAG系统的检索准确性、回答的事实一致性、引用来源的正确性等维度自定义评估指标,既可以测试单独的检索模块效果,也可以测试整个RAG链路的最终输出效果,是很多团队用于RAG系统迭代测试的常用工具,你可以在官方文档中找到专门的RAG测试教程,按照步骤配置即可使用。
Promptfoo和其他Prompt测试工具有什么区别?
Promptfoo的核心特点是开源、轻量化、易于集成,和很多SaaS类的Prompt测试工具不同,它不需要用户上传自己的Prompt和数据到第三方平台,所有测试都可以在本地运行,数据安全性更高。同时它的设计逻辑是面向开发者的,优先支持命令行操作和配置文件管理,很容易集成到现有的开发和CI流程中,适合用于生产级LLM应用的持续测试。相比其他开源的Prompt测试工具,Promptfoo的生态更成熟,内置的评估指标更丰富,支持的模型更多,同时有可视化的Web查看器,非技术人员也可以方便地查看测试结果,兼顾了开发者的集成需求和非技术人员的使用需求。
我没有编程基础可以使用Promptfoo吗?
没有编程基础的用户使用Promptfoo会有一定的门槛,因为初始配置需要编写YAML格式的配置文件,需要了解基础的YAML语法,同时如果需要使用自定义评估函数的话还需要掌握基础的Python或JavaScript代码编写能力。不过如果只是进行简单的Prompt对比测试,官方提供了详细的配置模板,用户只需要替换模板中的Prompt内容和测试用例即可运行测试,Web查看器的操作也比较简单,不需要编程基础就可以查看对比结果。官方也在逐步优化使用体验,后续会推出更简化的操作界面,降低非技术用户的使用门槛,目前非技术用户可以先参考官方的新手教程,跟着步骤操作也可以完成基础的测试工作。
Promptfoo可以批量测试多个Prompt版本吗?
可以的,Promptfoo原生支持同时配置多个Prompt版本进行对比测试,你只需要在配置文件的prompts字段中添加多个Prompt内容,或者引用多个不同的Prompt文件,系统运行测试的时候会自动将每个测试用例分别传入所有配置的Prompt版本,生成对应的输出并计算得分。测试完成后你可以在Web查看器中直观看到每个Prompt版本的综合得分、通过率、每个测试用例的表现,还可以筛选出某个Prompt版本表现更好的用例,分析差异原因,帮助你快速筛选出效果更好的Prompt版本,大幅提升Prompt调优的效率,是很多Prompt工程师日常调优的常用功能。
开始使用 Promptfoo
从官方入口了解最新功能与使用方式。
由 Toolifai 编辑维护
欢迎产品方补充截图、功能介绍与官方资料。更新和纠错由编辑审核后发布。