Skip to main content

简介

promptfoo 是一个用于评估和红队测试 LLM 应用的 CLI 和库。

通过 promptfoo,您可以:

  • 构建可靠的提示、模型和 RAG,使用针对您用例的基准测试
  • 保障应用安全,通过自动化的红队测试和渗透测试
  • 加速评估,通过缓存、并发和实时重载
  • 自动评分输出,通过定义指标
  • 作为CLICI/CD使用
  • 使用 OpenAI、Anthropic、Azure、Google、HuggingFace、开源模型如 Llama,或集成自定义 API 提供商以支持任何 LLM API

目标:测试驱动的 LLM 开发,而非试错。

开始使用:

promptfoo 生成矩阵视图,让您快速评估多个提示的输出。

以下是多个提示和输入并排比较的示例:

LLM 提示质量的并排评估

它也可以在命令行上工作。

LLM 提示质量评估,带有 PASS/FAIL 预期

为什么选择 promptfoo?

有许多不同的方式来评估提示。以下是选择 promptfoo 的一些理由:

  • 开发者友好:promptfoo 快速,具有实时重载和缓存等生活质量功能。
  • 久经考验:最初为服务于超过 1000 万用户的 LLM 应用构建。我们的工具灵活,可以适应多种设置。
  • 简单、声明式的测试用例:无需编写代码或使用繁重的笔记本即可定义评估。
  • 语言无关:使用 Python、Javascript 或其他任何语言。
  • 共享与协作:内置共享功能和网页查看器,便于与团队合作。
  • 开源:LLM 评估是商品,应由 100% 开源项目提供,无附加条件。
  • 私有:此软件完全本地运行。评估在您的机器上运行,并与 LLM 直接通信。

工作流程和理念

测试驱动的提示工程比试错更有效。

严肃的 LLM 开发需要系统化的提示工程方法。promptfoo 简化了评估和改进语言模型性能的过程。

  1. 定义测试用例:识别核心用例和故障模式。准备一组代表这些场景的提示和测试用例。
  2. 配置评估:通过指定提示、测试用例和 API 提供商来设置您的评估。
  3. 运行评估:使用命令行工具或库执行评估,并记录每个提示的模型输出。
  4. 分析结果:设置自动要求,或在结构化格式/网页界面中查看结果。使用这些结果为您的用例选择最佳模型和提示。

测试驱动的 LLM 操作

随着收集更多示例和用户反馈,继续扩展您的测试用例。